我有以下数据集:
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个小节。
例如,第1列有我的类别,这些是我的图表的x轴上的名称。对于每个类别(“CSF1PO”和“D10S1248”),我想要3个条(第2列中的“GEL”,“MegaBACE”,“ABI”)。每个条应分为3个子集(第3列中的“-9”,“ - 1”,“NA”)。第4列(比率)有我的价值。
我想要像
这样的东西ggplot(data, aes(x=Marker, y=Ratio, fill=NAtype)) + geom_bar(stat="identity") + facet_grid(~Method)
但是每个类别的条形并排,而不是分开的网格。 有人可以帮忙吗? 谢谢!
答案 0 :(得分:2)
ggplot2
不允许您将stack
和dodge
同时包含在同一图表中。但是您可以使用facet_wrap
来实现您想要的效果。请参阅此示例并附上您的数据:
ggplot(df, aes(Method, Ratio, fill = Method)) +
geom_bar(stat = "identity", postion = "dodge") + facet_wrap(~Marker)