首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用R进行Holm sidak调整

使用R进行Holm sidak调整
EN

Stack Overflow用户
提问于 2015-08-12 22:47:13
回答 1查看 3.3K关注 0票数 2

我对使用R非常陌生,我正在运行一个包含两个因素(交互)的方差分析,并取得了成功。接下来,我想进行群体之间的比较。我知道使用TukeyHSD命令可以做到这一点。然而,我们的研究小组以前曾使用SigmaPlot来运行统计,这使用了Holm-Sidak方法。所以我的主管希望我在R上运行Holm-Sidak,这样我们就可以比较结果并确保它们是相同的。

有人知道怎么做吗?我试过在网上搜索,但找不到答案。似乎我需要输入未调整的p值,以便运行一些代码并返回调整后的p值,但我对这些未调整的p值应该从哪里来感到困惑。它们来自于先运行成对测试吗?

我将非常感谢您对此的任何指导。

EN

回答 1

Stack Overflow用户

发布于 2015-08-12 22:52:38

Pierre Legendre中的代码对R中的方差分析执行Holm-Šidák调整:

代码语言:javascript
复制
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调整的选项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31968549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档