Standard-Deviation
要報告的有效位數
是否有更科學的方法來確定在相當標準的情況下報告平均值或置信區間的有效數字的數量 - 例如大學一年級課程。
我已經看到Number of Significant Figures to put in a table,為什麼我們不使用有效數字和Number of Significant Figures in a chi square fit,但這些似乎並沒有解決這個問題。
在我的課堂上,我試圖向我的學生解釋,當他們的結果中有如此廣泛的標準誤差時,報告 15 個有效數字是浪費墨水——我的直覺是它應該四捨五入到大約. 這與 ASTM 所說的沒有太大不同- 報告測試結果指的是 E29,他們說應該介於和.
編輯:
當我有一組
x
如下數字時,我應該使用多少位來打印平均值和標準差?set.seed(123) x <- rnorm(30) # default mean=0, sd=1 # R defaults to 7 digits of precision options(digits=7) mean(x) # -0.04710376 - not far off theoretical 0 sd(x) # 0.9810307 - not far from theoretical 1 sd(x)/sqrt(length(x)) # standard error of mean 0.1791109
問題:詳細說明平均數和標準差的精度(當存在雙精度數向量時),並編寫一個簡單的 R 教學函數,將平均數和標準差打印到有效位數反映在向量中
x
。
測量不確定度指南 (GUM) 建議以不超過 2 位數字報告不確定度,並以使其與不確定度一致所需的有效數字位數報告結果。見下文第 7.2.2 節
http://www.bipm.org/utils/common/documents/jcgm/JCGM_100_2008_E.pdf
以下代碼是我嘗試在 R 中實現此建議的嘗試。Noe 表示 R 可能不配合在輸出中保留尾隨零的嘗試,即使它們很重要。
gumr <- function(x.n,x.u) { z2 <- trunc(log10(x.u))+1 z1 <- round(x.u/(10^z2),2) y1 <- round(x.n*10^(-z2),2) list(value=y1*10^z2,uncert=z1*10^z2) } x.val <- 8165.666 x.unc <- 338.9741 gumr(x.val,x.unc)