Differenz der gemeldeten p-Werte zwischen lm und aov in R


12

Was erklärt die Unterschiede in p-Werten im Folgenden aovund lmruft auf? Liegt der Unterschied nur an unterschiedlichen Arten von Quadratsummenberechnungen?

set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
summary(lm(data~f1*f2))$coeff

Antworten:


13

summary(aov)verwendet sogenannte Typ I (sequentielle) Quadratsummen. summary(lm)verwendet sogenannte Typ-III-Quadratsummen, die nicht sequentiell sind. Siehe Gungs Antwort für Details.


Beachten Sie, dass Sie aufrufen müssen lm(data ~ factor(f1) * factor(2))( aov()konvertiert automatisch die RHS der Formel in Faktoren). Notieren Sie dann den Nenner für die allgemeine Statistik in linearer Regression ( weitere Erklärungen finden Sie in dieser Antwort ):t

t=ψ^ψ0σ^c(XX)1c

unterscheidet sich für jeden getestetenβ-Koeffizienten, weil sich der Vektor c ändert. Der Nenner im ANOVAF-Test ist dagegen immer MSE.c(XX)1cβcF


1
Ich denke der erste Satz dieser Antwort ist falsch. Der Unterschied scheint genau auf verschiedene Arten von Quadratsummen zurückzuführen zu sein: Typ I gegen Typ II / III. Typ I ist sequentiell, wie lmberichtet wird, während Typ II / III dies nicht ist. Dies wird in @ gungs Antwort, auf die Sie verlinkt haben, ausführlich erklärt.
Amöbe sagt Reinstate Monica

@amoeba Was schlagen Sie vor, um die Antwort zu korrigieren?
Caracal

Ich habe den ersten Absatz bearbeitet, um festzustellen, ob Sie mit der Bearbeitung einverstanden sind, und kann ihn jederzeit nach Belieben ändern.
Amöbe sagt Reinstate Monica

2
set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
            Df Sum Sq Mean Sq F value Pr(>F)
f1           1  0.535  0.5347   0.597  0.462
f2           1  0.002  0.0018   0.002  0.966
f1:f2        1  0.121  0.1208   0.135  0.723
Residuals    8  7.169  0.8962               
summary(lm(data~f1*f2))$coeff
               Estimate Std. Error    t value  Pr(>|t|)
(Intercept)  0.05222024   2.732756  0.0191090 0.9852221
f1          -0.17992329   1.728346 -0.1041014 0.9196514
f2          -0.62637109   1.728346 -0.3624106 0.7264325
f1:f2        0.40139439   1.093102  0.3672066 0.7229887

Dies sind zwei verschiedene Codes. Aus dem Lm-Modell benötigen Sie die Koeffizienten. Während Sie vom AOV-Modell aus nur die Variationsquellen tabellarisch darstellen. Probieren Sie den Code

anova(lm(data~f1*f2))
Analysis of Variance Table

Response: data
          Df Sum Sq Mean Sq F value Pr(>F)
f1         1 0.5347 0.53468  0.5966 0.4621
f2         1 0.0018 0.00177  0.0020 0.9657
f1:f2      1 0.1208 0.12084  0.1348 0.7230
Residuals  8 7.1692 0.89615   

Dies gibt die Auflistung der Variationsquellen, die zu den gleichen Ergebnissen führen.


2
Dies scheint die Frage nicht zu beantworten, die fragt, warum sich die p-Werte für f1und f2in den beiden Zusammenfassungen Ihres oberen Panels unterscheiden. Es sieht aus wie Sie nur zeigen , dass summary(aov(...))und anova(lm(...))in Rähnlichen Ausgang.
Whuber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.