Home Articles

R:ggplot2 barplot和错误栏

Asked
Viewed 710 times
2

自从新版本的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.

ggplot barplot

1 Answer

  • 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

Related