从aov()和lm()得到的对比度在R中相匹配时,我遇到了麻烦。我很确定这是因为我没有完全理解将要发生的事情或如何指定适当的对比,但我想我会问。Aov和lm在R中的不同对比结果
R默认对lm()和aov()使用处理对比度,这意味着它将因子的每个水平与基线水平进行对比。我可以在LM的结果()看到这一点:
data(InsectSprays)
lmMod <- lm(count ~ spray, data=InsectSprays)
summary(lmMod)
添加截距每个系数给出了相同的平均通过tapply计算()。但是,试图用aov()重现这些差异会产生不同的结果。
model1 <- aov(count ~ spray, data = InsectSprays)
summary(model1, split=list(spray=list("Cont1"=1, "Cont2"=2,
"Cont3" = 3, "Cont4" = 4, "Cont5" = 5)))
在此,最后的p值是一样的一个用于在LM(p值= 0.181)的对比度,但AOV()对比表明,喷雾B是从喷射器A(对< 0.0001不同),而lm表示他们没有区别(p = 0.604)。
我试着使用金额到零效应重新编写自己反差:
c1 <- c(-1, 1, 0, 0, 0, 0)
c2 <- c(-1, 0, 1, 0, 0, 0)
c3 <- c(-1, 0, 0, 1, 0, 0)
c4 <- c(-1, 0, 0, 0, 1, 0)
c5 <- c(-1, 0, 0, 0, 0, 1)
contMat <- cbind(c1, c2, c3, c4, c5)
contrasts(InsectSprays$spray) <- contMat
model2 <- aov(count ~ spray, data = InsectSprays)
summary(model2, split=list(spray=list("Cont1"=1, "Cont2"=2,
"Cont3" = 3, "Cont4" = 4, "Cont5" = 5)))
现在,第一个对比给出了同样的p值作为LM(P = 0.604),但最后对比表示治疗F与A显着不同(p< 0.0001),而lm表示不是(p = 0.181)。
我觉得我错过了一些根本性的东西,但我一直没有弄明白。任何帮助,将不胜感激。
对于最后一种方法,如果在所有c1,.. c6中使用0作为-1,则将得到0.181,但对于第一个p <0.0001,因此第二种和最后一种方法在此之下相同;但是有区别,我还是不清楚。查看[这里](http://www.talkstats.com/showthread.php/25952-lm()-and-aov()-for-ANCOVA) – Metrics