制作带错误条的组的条形图

时间:2016-09-29 09:34:44

标签: r ggplot2

我想制作列V2和长度的条形图。我还会绘制每组length中数字的标准偏差。

> head(Length_filter3)
             V1    V2                                           V3 length
1 URS00000081EA snRNA               AAACTCGACTGCATAATTTGTGGTAGTGGG     30
2 URS00000081EA snRNA              AAACTCGACTGCATAATTTGTGGTAGTGGGG     31
3 URS00000081EA snRNA          AAACTCGACTGCATAATTTGTGGTAGTGGGGGACT     35
4 URS0000008112A tRNA          AAACTCGACTGCATAATTTGTGGTAGTGGGGGACTG     36
5 URS000000812A  tRNA  AAATGTGGGAAACTCGACTGCATAATTTGTGGTAGTGGGGGACT     44
6 URS0000008121EA tRNA                 AACTCGACTGCATAATTTGTGGTAGTGGG     29


ggplot(Length_filter3, aes(V2,length)) + geom_bar(stat="identity")

2 个答案:

答案 0 :(得分:2)

我假设您正在寻找创建某种汇总统计量,例如平均值,而不是试图绘制所有RNA类型的总长度(对于这些类型,没有错误条可以说)。

如果必须是条形图,您可能需要自己计算这些值。在这里,我从iris数据手动计算我想要的范围(使用dplyr):

summarizedData <-
  iris %>%
  group_by(Species) %>%
  summarise(
    mean = mean(Petal.Length)
    , sd = sd(Petal.Length)
    , low = mean + sd/(sqrt(n())) * qt(0.025, n()-1 )
    , high = mean + sd/(sqrt(n())) * qt(0.975, n()-1 )
  )


ggplot(
  summarizedData
  , aes(x = Species
        , y = mean
        , ymax = high
        , ymin = low)
) +
  geom_bar(stat = "identity") +
  geom_linerange()

enter image description here

或者,您可以让ggplot为您完成工作,特别是如果您愿意使用积分和误差条而不是条形图(我倾向于这样做)

ggplot(
  iris
  , aes(x = Species
        , y = Petal.Length)
) +
  stat_summary(fun.data = mean_cl_normal)

enter image description here

如果您愿意,也可以将这些方法结合起来。

答案 1 :(得分:0)

ggplot选择stdev中尝试myChart功能。