问题描述
自从 ggplot2 (0.9.3) 的新版本以来,我在绘制带有误差条的条形图时遇到了问题.所以我有一个这样的数据框:
Since the new version of ggplot2 (0.9.3), I've problem to plot barplots with errorbars. So I've a dataframe like this :
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 :我在升级之前这样做了:
I want to plot for each group the val +- s : I did that before upgrade :
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 版)
Mapping a variable to y and also using stat="bin". With stat="bin", it will attempt to set the y value to the count of cases in each group. This can result in unexpected behavior and will not be allowed in a future version of ggplot2. If you want y to represent counts of cases, use stat="bin" and don't map a variable to y. If you want y to represent values in the data, use stat="identity". See ?geom_bar for examples. (Deprecated; last used in version 0.9.2)
所以有人知道如何解决吗?谢谢
So anyone knows how to resolve that ? Thanks
否.
推荐答案
这就是你想要的吗?
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))
这篇关于R:ggplot2 条形图和误差条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!