1

次のデータセットがあります。

      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 つのバー (「GEL」、「MegaBACE」、2 列目の「ABI」) が必要です。各バーは 3 つのサブセット (3 列目の「-9」、「-1」、「NA」) に分割する必要があります。4 列目 (Ratio) には私の値が入ります。

私は何かが欲しい

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

ただし、各カテゴリのバーは、分離されたグリッドではなく、横に並んでいます。誰でも助けてもらえますか?ありがとう!

4

1 に答える 1

2

ggplot2stackdodgeas の両方を同じプロットに含めることはできません。しかし、を使用することで、目的を達成できますfacet_wrap。あなたのデータでこの例を見てください:

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

ここに画像の説明を入力

于 2012-10-31T20:06:27.703 に答える