次のデータ(ddply関数から返されます)からグループ化された棒グラフを作成しようとしています.x軸に(2つのサイトのそれぞれに対して)4つのCWD変数があり、y軸が平均です。ggplot関数とaes関数を使用してRでグループ化された棒グラフを作成するにはどうすればよいですか?
私のコードは次のとおりです。
library(plyr)
library(reshape2)
library(ggplot2)
ddply(data, c("Site","Plot","Cover"), summarise, mean=mean(Height), sd=sd(Height),
sem=sd(Height)/sqrt(length(Height)))
BranchSize <- ddply(data, c("Site","CWD"), summarise, mean=mean(Volume),
sd=sd(Volume), sem=sd(Volume)/sqrt(length(Volume)))
をし、それがこのテーブルを返します。このテーブルは既にデータフレームですか、またはそれを処理するには1つにする必要がありますか?
Site CWD mean sd sem
1 High Bark 975.7273 2603.077 554.9780
2 High Branch 36827.7735 107668.064 13056.6706
3 High Cage 116041.4286 154934.888 58559.8832
4 High Log 73463.3636 121054.372 25808.8788
5 Low Bark 40.0000 NA NA
6 Low Branch 1323.8280 2304.571 595.0377
7 Low Cage 101.5000 NA NA
8 Low Log 102600.0000 NA NA
は、このコードを使用して:私は、このコマンドを実行すると
limits <- aes(ymax = BranchSize$mean + BranchSize&se,
ymin=BranchSize$mean - BranchSize&se)
CWDVol<-ggplot(data = BranchSize,
aes(x = factor(CWD), y = mean, fill = factor(Site)))
CWDVol
、私のプロットが表示されますが、何のバーはありません。
CWDVol + geom_bar(stat = "identity", position_dodge(0.9)) +
geom_errorbar(limits, position = position_dodge(0.9), width = 0.25) +
labs(x = "CWD Type", y = "Average Volume") +
ggtitle("Average CWD Size in each Site") +
scale_fill_discrete(name = "Site")
私はこのエラーを得続ける:
は、その後、私はこの実行すると、「エラー:マッピングaes()
かaes_()
によって作成されなければならない」と
は、任意のヒントをいただければ幸いです。
は '' statに=「カウント」してみていますか? – Jimbou
'geom_bar'に' position = position_dodge(0.9) 'を渡し、' limits'でこれをしました: 'BranchSize $ se'、' se'と呼ばれる変数はありません。また、 'BranchSize $'を含める必要はありません。 – Sumedh
ありがとうございます。私はstatを "count"に変更し、seをsemに変更してエラーを修正しましたが、まだ動作しません。 CWDVolを実行すると、棒なしのグラフが生成されます。 – Dominique