2012-10-31 4 views
1

에 대한 3 개 막대 누적 막대 그래프를 만들기 :나는 다음과 같은 데이터 집합을 가지고 각 카테고리

 Marker Method NAtype  Ratio 
1  CSF1PO  GEL  -9 3.623417e-01 
2  CSF1PO  GEL  -1 4.713273e-02 
3  CSF1PO  GEL  NA 0.000000e+00 
4  CSF1PO MegaBACE  -9 1.417205e-02 
5  CSF1PO MegaBACE  -1 8.312974e-03 
6  CSF1PO MegaBACE  NA 5.405026e-06 
7  CSF1PO  ABI  -9 4.714592e-02 
8  CSF1PO  ABI  -1 1.989925e-03 
9  CSF1PO  ABI  NA 4.174494e-05 
10 D10S1248  GEL  -9 9.999201e-01 
11 D10S1248  GEL  -1 7.098303e-05 
12 D10S1248  GEL  NA 0.000000e+00 
13 D10S1248 MegaBACE  -9 6.562637e-01 
14 D10S1248 MegaBACE  -1 2.518769e-03 
15 D10S1248 MegaBACE  NA 1.081005e-05 
16 D10S1248  ABI  -9 7.138484e-03 
17 D10S1248  ABI  -1 1.029723e-03 
18 D10S1248  ABI  NA 1.391498e-05 

내가이 데이터를 누적 막대 그래프를 만들고 싶어. 나는 ggplot2에 능통하지 않고 각 카테고리에 3 개의 막대를 만드는 방법을 모른다.

예를 들어, 첫 번째 열에는 내 범주가 있으며, 이들은 내 그래프의 x 축에있는 이름입니다. 각 카테고리 ("CSF1PO"및 "D10S1248")에 대해 3 줄 (2 열의 "GEL", "MegaBACE", "ABI")을 원합니다. 각 막대는 3 개의 하위 집합으로 나누어야합니다 (세 번째 열의 "-9", "-1", "NA"). 그리고 네 번째 열 (Ratio)에는 내 가치가 있습니다.

나는

ggplot(data, aes(x=Marker, y=Ratio, fill=NAtype)) + geom_bar(stat="identity") + facet_grid(~Method) 

하지만 분리 된 그리드에서 각 범주에 나란히에 대한 바

같은 것을 원한다. 아무도 도와 줄 수 있습니까? 감사합니다.

+0

둘 다하려고하는 경우는, 닷지와 바 스택 내가 [생각]하지 (http://stackoverflow.com/q/12715635/3243640) 할 수 있습니다. – joran

답변

2

ggplot2 동일한 플롯에서 위치로 stackdodge을 모두 포함 할 수 없습니다. 그러나 facet_wrap을 사용하여 원하는 것을 얻을 수 있습니다. 데이터와이 예제를 참조하십시오 :

ggplot(df, aes(Method, Ratio, fill = Method)) + 
geom_bar(stat = "identity", postion = "dodge") + facet_wrap(~Marker) 

enter image description here

+0

그게 재미 있어요. 감사! 하지만 지금은 내 데이터 (df $ NAtype)의 하위 집합을 플롯하지 않았습니다 ... 막대의 스택이어야합니다. 그래서 그렇게 할 수 없습니까? – vitor

관련 문제