R:ggplot2 barplot和错误栏

时间:2013-02-25 10:06:49

标签: r ggplot2

自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版本中使用)

所以任何人都知道如何解决这个问题?感谢

<磷>氮

ggplot barplot

1 个答案:

答案 0 :(得分:6)

这就是你要追求的吗?

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))

enter image description here