2012-08-06 1056 views
0

我创建了下面的例子来比较这两种功能pairwise.t.test()TukeyHSD()事后检验:pairwise.t.test与TukeyHSD测试

x <- c(10,11,15,8,16,12,20) 
y <- c(10,14,18,25,28,30,35) 
z <- c(14,19,35,18,17,16,25) 

d <- c(x,y,z) 
f <- as.factor(c(rep("a",7), rep("b",7), rep("c",7))) 

pairwise.t.test(d, f) 
TukeyHSD(aov(d ~ f)) 

这是正常的p值不同,像这两个测试?有没有办法在两个或一个测试中调整参数以使p值更加平等?

此外,似乎没有参数var.equal,因为两个测试都是t.test()。这是真的吗?

+1

它是不是更适合http://stats.stackexchange.com/? – Pop 2012-08-06 08:34:08

+0

我总是不知道何时发布。看来stats.stackexchange和stackoverflow之间没有明确的分隔。 – user969113 2012-08-06 08:42:42

+0

我认为这应该转移到简历,因为您的问题与统计数据相比更多地涉及到编程。 – 2012-08-06 08:43:36

回答

1

从帮助页面TukeyHSD:

当使用t检验将膨胀声明 显著的概率比较的装置为一个因子的水平方差, 一个简单的比较的分析当它实际上不存在时,它们会有所不同。这是因为间隔 是以给定的覆盖率概率计算每个间隔的,但覆盖率的解释通常是关于整个家庭的 间隔。

TukeyHSD测试是一个不同的测试,根据上面的评论,我期望在一般情况下,它会提供更高的p值。话虽如此,对于您提供的数据来说,p值与我的推理目的看上去并没有很大的不同。

+1

'pairwise.t.test'也对多重比较做了调整,不过,只是使用不同的方法。 – Aaron 2012-08-07 11:34:44

1

pairwise.t.test根据六种方法之一调整p值以适应多重比较(请参阅?p.adjust了解详细信息)。要获得单独的标准差估计而不是汇总的标准差,请使用pool.SD = FALSE参数。在分析方差中没有类似的选择,这就是你传递给TukeyHSD()函数的方法。