p.adjust
位於 stats
包(package)。 說明
給定一組 p 值,返回使用多種方法之一調整的 p 值。
用法
p.adjust(p, method = p.adjust.methods, n = length(p))
p.adjust.methods
# c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY",
# "fdr", "none")
參數
p |
p 值的數值向量(可能帶有 |
method |
校正方法, |
n |
比較次數,必須至少為 |
細節
調整方法包括 Bonferroni 校正 ("bonferroni"
),其中 p 值乘以比較次數。 Holm (1979) ( "holm"
)、Hochberg (1988) ( "hochberg"
)、Hommel (1988) ( "hommel"
)、Benjamini & Hochberg (1995) ( "BH"
或其別名) 也包含了不太保守的修正分別是 "fdr"
) 和 Benjamini & Yekutieli (2001) ( "BY"
)。還包括 pass-through 選項 ("none"
)。這組方法包含在 p.adjust.methods
向量中,以便需要將該方法作為選項並將其傳遞給 p.adjust
的方法。
前四種方法旨在對 family-wise 錯誤率進行強有力的控製。似乎沒有理由使用未經修改的 Bonferroni 校正,因為它以 Holm 方法為主,該方法在任意假設下也有效。
當假設檢驗獨立或非負相關時,Hochberg 和 Hommel 的方法是有效的(Sarkar,1998;Sarkar 和 Chang,1997)。 Hommel 的方法比 Hochberg 的方法更強大,但差異通常很小,並且 Hochberg p 值的計算速度更快。
Benjamini、Hochberg 和 Yekutieli 的 "BH"
(又名 "fdr"
)和 "BY"
方法控製錯誤發現率,即被拒絕的假設中錯誤發現的預期比例。錯誤發現率的條件不如 family-wise 錯誤率嚴格,因此這些方法比其他方法更強大。
請注意,您可以將 n
設置為大於 length(p)
,這意味著對於 "bonferroni"
和 "holm"
方法,假定未觀察到的 p 值大於所有觀察到的 p 值,而對於其他方法,則假定等於 1。
值
修正 p 值的數值向量(與 p
長度相同,名稱從 p
複製)。
例子
require(graphics)
set.seed(123)
x <- rnorm(50, mean = c(rep(0, 25), rep(3, 25)))
p <- 2*pnorm(sort(-abs(x)))
round(p, 3)
round(p.adjust(p), 3)
round(p.adjust(p, "BH"), 3)
## or all of them at once (dropping the "fdr" alias):
p.adjust.M <- p.adjust.methods[p.adjust.methods != "fdr"]
p.adj <- sapply(p.adjust.M, function(meth) p.adjust(p, meth))
p.adj.60 <- sapply(p.adjust.M, function(meth) p.adjust(p, meth, n = 60))
stopifnot(identical(p.adj[,"none"], p), p.adj <= p.adj.60)
round(p.adj, 3)
## or a bit nicer:
noquote(apply(p.adj, 2, format.pval, digits = 3))
## and a graphic:
matplot(p, p.adj, ylab="p.adjust(p, meth)", type = "l", asp = 1, lty = 1:6,
main = "P-value adjustments")
legend(0.7, 0.6, p.adjust.M, col = 1:6, lty = 1:6)
## Can work with NA's:
pN <- p; iN <- c(46, 47); pN[iN] <- NA
pN.a <- sapply(p.adjust.M, function(meth) p.adjust(pN, meth))
## The smallest 20 P-values all affected by the NA's :
round((pN.a / p.adj)[1:20, ] , 4)
參考
Benjamini, Y., and Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society Series B, 57, 289-300. doi:10.1111/j.2517-6161.1995.tb02031.x.
Benjamini, Y., and Yekutieli, D. (2001). The control of the false discovery rate in multiple testing under dependency. Annals of Statistics, 29, 1165-1188. doi:10.1214/aos/1013699998.
Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6, 65-70. https://www.jstor.org/stable/4615733.
Hommel, G. (1988). A stagewise rejective multiple test procedure based on a modified Bonferroni test. Biometrika, 75, 383-386. doi:10.2307/2336190.
Hochberg, Y. (1988). A sharper Bonferroni procedure for multiple tests of significance. Biometrika, 75, 800-803. doi:10.2307/2336325.
Shaffer, J. P. (1995). Multiple hypothesis testing. Annual Review of Psychology, 46, 561-584. doi:10.1146/annurev.ps.46.020195.003021. (An excellent review of the area.)
Sarkar, S. (1998). Some probability inequalities for ordered MTP2 random variables: a proof of Simes conjecture. Annals of Statistics, 26, 494-504. doi:10.1214/aos/1028144846.
Sarkar, S., and Chang, C. K. (1997). The Simes method for multiple hypothesis testing with positively dependent test statistics. Journal of the American Statistical Association, 92, 1601-1608. doi:10.2307/2965431.
Wright, S. P. (1992). Adjusted P-values for simultaneous inference. Biometrics, 48, 1005-1013. doi:10.2307/2532694. (Explains the adjusted P-value approach.)
也可以看看
pairwise.*
函數,例如 pairwise.t.test
。
相關用法
- R plot.stepfun 繪製階躍函數
- R pairwise.t.test 成對 t 檢驗
- R predict.smooth.spline 通過平滑樣條擬合進行預測
- R plot.profile.nls 繪製 profile.nls 對象
- R predict 模型預測
- R plot.isoreg isoreg 對象的繪圖方法
- R profile.nls 分析 nls 對象的方法
- R plot.HoltWinters HoltWinters 對象的繪圖函數
- R ppoints 概率圖的坐標
- R predict.HoltWinters 擬合 Holt-Winters 模型的預測函數
- R poly 計算正交多項式
- R proj 模型預測
- R predict.loess 預測黃土曲線或表麵
- R power.t.test 一個和兩個樣本 t 檢驗的功效計算
- R power.prop.test 比例二樣本檢驗的功效計算
- R preplot 繪圖對象的預計算
- R plot.ts 繪製時間序列對象
- R prcomp 主成分分析
- R printCoefmat 打印係數矩陣
- R plot.density 核密度估計的繪圖方法
- R profile 分析模型的通用函數
- R power.anova.test 方差檢驗平衡單向分析的功效計算
- R ppr 投影尋蹤回歸
- R prop.test 等比例或給定比例檢驗
- R profile.glm 分析 glm 對象的方法
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Adjust P-values for Multiple Comparisons。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。