我对使用R非常陌生,我正在运行一个包含两个因素(交互)的方差分析,并取得了成功。接下来,我想进行群体之间的比较。我知道使用TukeyHSD命令可以做到这一点。然而,我们的研究小组以前曾使用SigmaPlot来运行统计,这使用了Holm-Sidak方法。所以我的主管希望我在R上运行Holm-Sidak,这样我们就可以比较结果并确保它们是相同的。
有人知道怎么做吗?我试过在网上搜索,但找不到答案。似乎我需要输入未调整的p值,以便运行一些代码并返回调整后的p值,但我对这些未调整的p值应该从哪里来感到困惑。它们来自于先运行成对测试吗?
我将非常感谢您对此的任何指导。
发布于 2015-08-12 22:52:38
Pierre Legendre中的代码对R中的方差分析执行Holm-Šidák调整:
Sidak <- function(vecP)
#
# This function corrects a vector of probabilities for multiple testing
# using the Bonferroni (1935) and Sidak (1967) corrections.
#
# References: Bonferroni (1935), Sidak (1967), Wright (1992).
#
# Bonferroni, C. E. 1935. Il calcolo delle assicurazioni su gruppi di teste.
# Pp. 13-60 in: Studi in onore del Professore Salvatore Ortu Carboni. Roma.
#
# Sidak, Z. 1967. Rectangular confidence regions for the means of multivariate
# normal distributions. Journal of the American Statistical Association 62:626-633.
#
# Wright, S. P. 1992. Adjusted P-values for simultaneous inference.
# Biometrics 48: 1005-1013.
#
# Pierre Legendre, May 2007
{
k = length(vecP)
vecPB = 0
vecPS = 0
for(i in 1:k) {
bonf = vecP[i]*k
if(bonf > 1) bonf=1
vecPB = c(vecPB, bonf)
vecPS = c(vecPS, (1-(1-vecP[i])^k))
}
#
return(list(OriginalP=vecP, BonfP=vecPB[-1], SidakP=vecPS[-1]))
}或者,您也可以使用包dunn.test。它执行您想要的类型的多个比较,尽管是在秩和上,并且具有使用"method = sidak"进行Holm-Šidák调整的选项。
https://stackoverflow.com/questions/31968549
复制相似问题