我有这个数据框:

> dat
   x         y        yerr
1 -1 -1.132711 0.001744498
2 -2 -2.119657 0.003889120
3 -3 -3.147378 0.007521881
4 -4 -4.220129 0.012921450
5 -5 -4.586586 0.021335644
6 -6 -5.389198 0.032892630
7 -7 -6.002848 0.048230946

我可以用标准误差平滑将其绘制为:
p <- ggplot(dat, aes(x=x, y=y)) + geom_point()
p <- p + geom_errorbar(data=dat, aes(x=x, ymin=y-yerr, ymax=y+yerr), width=0.09)
p + geom_smooth(method = "lm", formula = y ~ x)

但是我需要使用 yerr 来拟合我的线性模型。 ggplot2是否可以?

最佳答案

好吧,我找到了一种答案。

由于在我们收集数据的任何科学实验中,如果正确执行了该实验,则所有数据值都必须关联一个错误。

在某些情况下,误差的方差可能在所有点上都是相等的,但是在许多情况下(如本问题中的原始问题所述),这是不正确的。 因此,在将曲线拟合到数据时,对于不同的测量,我们必须在误差值的方差中使用不同的值。

这样做的方法是将权重归因于误差值,根据统计分析方法,其等于1 / sqrt(errorValue),因此,它变为:

p <- ggplot(dat, aes(x=x, y=y, weight = 1/sqrt(yerr))) +
    geom_point() +
    geom_errorbar(aes(ymin=y-yerr, ymax=y+yerr), width=0.09) +
    geom_smooth(method = "lm", formula = y ~ x)

08-19 22:02