2012-12-19 35 views
0

我想绘制关于x的y1,y2两个不同值的误差条。换句话说,我有两个数据Y1,Y2,它们是对应的X值。我重新设计了数据框后,设法将它们绘制在一起。现在我想为每个Y1,Y2点在同一个图上绘制误差线。据我所知geom_errorbar()是我正在寻找。但是,我正在追踪很长一段时间,我确信有一个很短的路。我在做什么我正在计算每个集合的“se”,并计算aes(ymin=y1-se, ymax=y+se)并重复相同的Y2。因为我想将这个错误条应用到不同的图上。我宁愿短时间做。重塑后ggplot:错误条

这里我的数据帧:

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”?

回答

1

一般有两种可能性来准备数据ggplot

  • 您可汇总原始数据并绘制结果。如果遵循这种方式,则必须计算标准错误,因为无法从汇总数据中检索信息。这些标准错误可以用geom_errorbar绘制。
  • 第二个选择是使用原始数据,并让ggplot为您做所有的计算。这可以通过stat_summary完成。例如:

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

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

+0

是的,我选择了第一种方法。但是,如何在第二种方法中做到这一点,因为我认为无论您拥有什么数据,它都更加灵活。你能告诉我做的步骤吗? – SimpleNEasy

+0

@ Eng.Mohd查看我答案的更新。 –

+0

这将如何应用于我的上述数据。我不清楚!我如何将它包含在ggplot中?谢谢 – SimpleNEasy