2012-12-06 3 views
3

카운트 데이터에서 R의 바이올린 플롯을 만들려고합니다. 내가 사용하는 데이터는 각 소스마다 각 샘플에서 발견되는 수많은 돌연변이이다.이산 값을 가진 R의 바이올린 플롯

그것은 다음과 같은 :

2 Source1 
8 Source2 
0 Source1 
1 Source1 
9 Source2 
... 

은 이미 여러 플롯을 만들려면 아래 코드를 사용했다.

ggplot(df_combined, aes(factor(names), y=mutations)) + 
geom_violin() + 
geom_boxplot(width=.1, outlier.size=0, fill="grey50") + 
stat_summary(fun.y=median, geom="point", fill="white", shape=21, size=4) + 
xlab("Source") + 
ylab("Number of mutations") + 
theme(axis.text = element_text(colour = "black"))` 

대부분 그냥 벌금을 표시하지만, 그들 중 일부는 (가장 좋은 방법은 내가 그것을 설명 할 수있는) 여기에 작동하지 않습니다 예입니다 '동요'로 시작합니다.

plot

나는 내 데이터는 별도의 연속이 아니라 내가 바이올린 플롯이 변경 방법에 아무것도 찾을 수 없기 때문에이 것 같다. ggplot2 및 geom_violin을 사용하여이 작업을 수행 할 수있는 방법이 있습니까?

데이터는 아래 :

structure(list(mutations = c(6, 6, 6, 6, 6, 6), names = structure(c(1L, 1L, 1L, 1L, 1L, 
1L), .Label = c("1kG", "CG"), class = "factor")), .Names = c("mutations", "names"), 
row.names = c(NA, 6L), class = "data.frame") 
+0

데이터를 재생산 해 주실 수 있습니까? 예 : – agstudy

+0

내가 그것을 할 때 구조 (목록 (돌연변이 = c (6, 6, 6, 6, 6), 이름 = 구조 (c (1L, 1L, 1L .Label = c ("1kG", "CG"), class = "factor")), .Names = c ("돌연변이", "이름"), row.names = c (1L, 1L, 1L) (NA, 6L), class = "data.frame") – Tubeman

+4

ggplot2에서 구현 된 "새로운"geom_dotplot이 또 다른 옵션이라고 생각합니다. 이것은 일종의 바이올린 플롯이지만 원시 값 (예 : 플롯 9 번 : http://docs.ggplot2.org/current/geom_dotplot.html)을 사용합니다. –

답변

2

나는 윈스턴 장 on the ggplot2 forum에서 대답을 얻었다. 트릭은 geom_violin(adjust=2)을 사용하여 그래프를 부드럽게 만듭니다.

+3

나중에 참조 할 수 있도록 교차 게시하지 않는 것이 좋습니다. 한 소식통에게 다른 소식을 전하기 전에 도움을 줄 수있는 기회 (하루)를 말하고 교차 게시를 언급하십시오. – Gregor