绘制R中标准偏差的折线图

时间:2018-02-14 15:33:18

标签: r plot ggplot2 graph standard-deviation

我有一个与此类似的数据框:

myTable <- "ID Data Group
        1     -50     5.0
        2     -44     5.0
        3     -48     5.0
        4     -50     4.9
        5     -44     4.9
        6     -48     4.9
        7     -48     4.9
        8     -44     4.8
        9     -49     4.8
       10     -48     4.8
       11     -60     4.8
       10     -50     4.8
       11     -80     4.7"
Data <- read.table(text=myTable, header = TRUE)

数据按ID和组排序。这些组不是都具有相同的大小,但至少有一个成员。数据总是负数。 我打算做的是用&#34; Group&#34;制作折线图。作为x轴和&#34;数据&#34;作为y轴,它还应显示每组的标准偏差。

我是R初学者。所以我的知识非常有限,我只对ggplot2库有一点经验。我试图使用函数geom_errorbar但没有成功。 我试过的看起来像这样:

require("ggplot2")
pplot <- ggplot(data=data, aes(x=group, y=data))
pplot + geom_errorbar(aes(ymax = <Max of each group>, ymin= <Min of each group> ), width= 0.1)
pplot + geom_line();

所以结果应该有一个像这个图的形式: enter image description here

1 个答案:

答案 0 :(得分:2)

df <- data.frame(
  ID=1:7,
  Data=c(-50,-44,-48,-50,-44,-48,-48),
  Group=c(5,5,5,4.9,4.9,4.9,4.9)
)

library("ggplot2")

( pplot <- ggplot(data=df, aes(x=df$Group, y=df$Data)) + 
    stat_summary(fun.data = mean_sdl, fun.args = list(mult = 1), geom = "errorbar") +
    stat_summary(fun.y = mean, geom = "line") +
    geom_point() )

输出以下图表:

plot

我添加了geom_point()来显示单个观察结果。您可以使用参数aes(width=0.4)修改错误栏宽度。