3
我有以下的值:如何計算兩個值的差值,包括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中做到這一點?
乾杯, 克里斯
我有以下的值:如何計算兩個值的差值,包括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(XY)= EX - EY,SD(X)= SQRT(VAR(X))和VAR(XY)= VAR (X)+ var(Y)。最後一個等式假設X和Y不相關。現在,如果我們標記峯A,B,C,則存在A-B,A-C和B-C這三個差值,而不是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
謝謝,這很有幫助! – Kris