0

我想绘制 y1、y2 的两组不同值相对于 x 的误差线。换句话说,我有两个数据 Y1,Y2,它们对应于 X 值。在重塑数据框后,我设法将它们绘制在一起。现在我想在同一图表上为每个 Y1、Y2 点绘制误差线。我明白geom_errorbar()这就是我要找的。但是,我要走很长的路要走,而且我确信有一条捷径。我在做什么我正在为每组计算“se”,aes(ymin=y1-se, ymax=y+se)并为 Y2 计算并重复相同的操作。因为我想将此误差线应用于不同的情节。我宁愿做的很短。

这是我重塑后的数据框:

M     Req      Rec      load       Un      L1
1    30.11  9.000000   3.000000  30.02000  A
2    50.31  10.030000  6.045000  39.44000  A
3    60.01  11.290000  7.366667  54.93000  A
4    66.10  12.630000  8.827500  68.44500  A
5    80.18  13.106000  9.462000  71.07600  A
6    87.10  14.421667  15.961667 82.70500  A
7    90.08  15.880000  20.644286 94.20714  A
1    4.000  1.500000    1.000000  1        B
2    8.240  6.240000    4.760000  3.00000  B
3    10.28  12.230000  9.420000  4.05000   B
4    18.570 25.570000 17.930000  6.00000   B
5    22.250 35.250000 27.850000  7.00000   B
6    35.070 55.010000 36.810000  8.06000   B
7    48.480  0.420000 47.020000  9.06000   B

我使用以下命令绘制它:

ggplot(df_reshaped,aes(x = M, y = Req, colour = L1, shape=L1)) +  
     geom_point(size = 5)+
     geom_line() +
     scale_x_discrete(name="M") +
     scale_y_continuous(name="Y1 Y2")+
     ggtitle("A vs B")

在这种情况下,我正在绘制 Y1=Req1,Y2=Req2​​,相对于 x=M

有什么简单的方法或建议来计算误差线吗?

有什么快速计算“se”的方法吗?

4

1 回答 1

1

一般来说,有两种可能为您准备数据ggplot

  • 您可以汇总原始数据并绘制结果。如果按照这种方式,您也必须计算标准误差,因为无法从聚合数据中检索信息。这些标准误差可以用 绘制geom_errorbar
  • 第二种选择是使用原始数据并让ggplot您为您进行所有计算。这可以通过stat_summary. 例如:

    stat_summary(fun.data = "mean_cl_normal", mult = 1, geom = "errorbar")
    

显然,您选择了第一种方法。因此,您只需要计算两个变量的点的标准误差。

于 2012-12-20T06:52:27.787 回答