如何计算两个值的差异,包括它们在 R 中的标准偏差?

How to calculate the difference of two values including their standard deviation in R?

我有以下值:

x <- c(20.00740, 38.108416, 56.832884)  #x0 of peaks
sx <- c(0.1435, 0.011667, 0.027201)  # std. error of x0

我想通过误差传播计算每个峰之间的差异。我应该收到两个不同的标准值。错误。我如何在 R 中执行此操作?

干杯, 克里斯

对于随机变量 X 和 Y,使用 E(X-Y) = EX - EY,sd(X) = sqrt(var(X)) 和 var(X-Y) = var(X) + var(Y ).最后一个等式假设 X 和 Y 不相关。

现在,如果我们标记峰 A、B、C,则存在差异 A-B、A-C 和 B-C,这是 3 个差异值,而不是 2 个(如果区分 A-B 和 B-A 等,则为 6 个差异)。它们在下面的 xxss 矩阵的上(或下)三角形中计算。 xx[upper.tri(xx)]ss[upper.tri(xx)] 将提取上三角值。

xx <- outer(x, x, "-"); xx
##          [,1]      [,2]      [,3]
## [1,]  0.00000 -18.10102 -36.82548
## [2,] 18.10102   0.00000 -18.72447
## [3,] 36.82548  18.72447   0.00000

ss <- sqrt(outer(sx^2, sx^2, "+")) * !diag(length(sx)); ss
##           [,1]       [,2]       [,3]
## [1,] 0.0000000 0.14397350 0.14605528
## [2,] 0.1439735 0.00000000 0.02959752
## [3,] 0.1460553 0.02959752 0.00000000