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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。