2017-10-19 10 views
0

ggplotで作成したグループ化棒グラフは、私のデータセットのマイナーな変更後に積み重ねられた棒グラフに意図せず変換されます。グループ化された棒グラフは積み重ね棒グラフに変わります。ggplot

> DataT 
    Treatment Round N Initial  sd  se  ci 
1   EE  1 3 3000.000 0.0000 0.00000 0.0000 
2   EE  2 3 2524.444 463.8167 267.78469 1152.1845 
3   EE  3 3 1621.481 1297.3331 749.01563 3222.7542 
4   EE  4 1 2720.000  NA  NA  NaN 
5   EU  1 3 3000.000 0.0000 0.00000 0.0000 
6   EU  2 3 2922.222 134.7151 77.77778 334.6508 
7   EU  3 3 2582.963 514.6560 297.13677 1278.4763 
8   EU  4 3 2163.951 547.9230 316.34352 1361.1163 
9   UE  1 3 3000.000 0.0000 0.00000 0.0000 
10  UE  2 3 2280.000 624.4286 360.51404 1551.1667 
11  UE  3 3 1244.444 1520.4596 877.83779 3777.0311 
12  UE  4 1 2686.667  NA  NA  NaN 
13  UU  1 3 3000.000 0.0000 0.00000 0.0000 
14  UU  2 3 2626.667 283.7840 163.84274 704.9584 
15  UU  3 3 1835.556 474.8957 274.18116 1179.7063 
16  UU  4 3 1287.407 1022.8653 590.55158 2540.9384 
> p <-ggplot(DataT, aes(x=Treatment, y=Initial)) 
> p +geom_bar(position = position_dodge(),stat = "identity", aes(fill = 
Round)) 

First Bar Chart

しかし、このデータセットは、いくつかのエラーを持っていた:私は、以下の初期データセット、バーチャートを持っています。データセットを次のように変更すると、棒グラフのスタイルがグループ化されたグラフから積み重ねられたグラフに変更されました。私はグループ化された棒グラフのような第2のチャートを保つにはどうすればよい

> DataNew 
    Treatment Round N Initial  sd  se  ci 
1   EE  1 3 3000.0000 0.0000 0.00000 0.0000 
2   EE  2 3 2524.4444 463.8167 267.78469 1152.1845 
3   EE  3 3 1621.4815 1297.3331 749.01563 3222.7542 
4   EE  4 3 906.6667 1570.3927 906.66667 3901.0718 
5   EU  1 3 3000.0000 0.0000 0.00000 0.0000 
6   EU  2 3 2922.2222 134.7151 77.77778 334.6508 
7   EU  3 3 2582.9630 514.6560 297.13677 1278.4763 
8   EU  4 3 2163.9506 547.9230 316.34352 1361.1163 
9   UE  1 3 3000.0000 0.0000 0.00000 0.0000 
10  UE  2 3 2280.0000 624.4286 360.51404 1551.1667 
11  UE  3 3 1244.4444 1520.4596 877.83779 3777.0311 
12  UE  4 3 895.5556 1551.1477 895.55556 3853.2646 
13  UU  1 3 3000.0000 0.0000 0.00000 0.0000 
14  UU  2 3 2626.6667 283.7840 163.84274 704.9584 
15  UU  3 3 1835.5556 474.8957 274.18116 1179.7063 
16  UU  4 3 1287.4074 1022.8653 590.55158 2540.9384 
> p <-ggplot(DataNew, aes(x=Treatment, y=Initial)) 
> p +geom_bar(position = position_dodge(),stat = "identity", aes(fill = 
Round)) 

Second Bar Chart

? 事前に感謝します!

+0

'fill = Round'を' fill = factor(Round) 'に変更してみてください。 –

答えて

0

私はRoundはあなたのデータの要因ではないことを推測するつもりだ:

ggplot(DataNew, aes(x=Treatment, y=Initial)) + 
    geom_bar(position="dodge",stat="identity",aes(fill=factor(Round))) 

これはfactorRoundをラップすることによって動作します。

より完全に、あなたは戻ってDataNew$Round <- as.factor(DataNew$Round)に変更する必要があります。これにより、ggplot呼び出しでfactorの必要性がなくなります。

+0

ありがとうございます!これは確かに問題で、数値として分類されていました。とても有難い! –

関連する問題