從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