[英]R: ggplot2 barplot and error bar
自從 ggplot2 (0.9.3) 的新版本以來,我在繪制帶有誤差條的條形圖時遇到了問題。 所以我有一個這樣的數據框:
group N val sd se ci
1 206 3 37.2269533 7.9688645 4.6008261 19.7957568
2 207 3 2.0731505 2.2843009 1.3188417 5.6745180
3 208 3 2.2965978 1.4120606 0.8152536 3.5077531
4 209 3 3.1085132 1.1986664 0.6920504 2.9776525
5 210 3 3.3735251 1.9226134 1.1100214 4.7760365
6 211 3 4.0477951 2.9410503 1.6980162 7.3059739
7 212 3 1.2391158 1.2345554 0.7127709 3.0668055
8 213 2 1.3082374 1.1234220 0.7943793 10.0935460
我想為每個組繪制 val +- s :我在升級之前這樣做了:
ggplot(dfc, aes(x=factor(group), y=factor(val)) + geom_bar(position=position_dodge()) + geom_errorbar(aes(ymin=val-se, ymax=val+se),width=.1,position=position_dodge(.9))
它給了我:
將變量映射到 y 並使用 stat="bin"。 使用 stat="bin" 時,它將嘗試將 y 值設置為每組中的案例數。 這可能會導致意外行為,並且在 ggplot2 的未來版本中將不被允許。 如果您希望 y 表示案例計數,請使用 stat="bin" 並且不要將變量映射到 y。 如果您希望 y 表示數據中的值,請使用 stat="identity"。 有關示例,請參閱 ?geom_bar。 (已棄用;最后使用於 0.9.2 版)
所以有人知道如何解決嗎? 謝謝
N。
這是你追求的嗎?
my.df <- read.table(text = "group N val sd se ci
206 3 37.2269533 7.9688645 4.6008261 19.7957568
207 3 2.0731505 2.2843009 1.3188417 5.6745180
208 3 2.2965978 1.4120606 0.8152536 3.5077531
209 3 3.1085132 1.1986664 0.6920504 2.9776525
210 3 3.3735251 1.9226134 1.1100214 4.7760365
211 3 4.0477951 2.9410503 1.6980162 7.3059739
212 3 1.2391158 1.2345554 0.7127709 3.0668055
213 2 1.3082374 1.1234220 0.7943793 10.0935460", header = TRUE)
ggplot(my.df, aes(x = factor(group), y = val)) +
geom_bar(position = position_dodge()) +
geom_errorbar(aes(ymin=val-se, ymax=val+se))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.