如何计算两个值的差异,包括它们在 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 个差异)。它们在下面的 xx
和 ss
矩阵的上(或下)三角形中计算。 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
我有以下值:
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 个差异)。它们在下面的 xx
和 ss
矩阵的上(或下)三角形中计算。 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