我想绘制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”的方法?
答案 0 :(得分:1)
通常,为ggplot
准备数据有两种可能性:
geom_errorbar
绘制这些标准错误。第二个选项是使用原始数据,让ggplot
为您完成所有计算。这可以通过stat_summary
来完成。例如:
stat_summary(fun.data = "mean_cl_normal", mult = 1, geom = "errorbar")
显然,你选择了第一种方法。因此,您只需要计算两个变量点的标准误差。