Diferencia en los valores de p informados entre lm y aov en R


12

¿Qué explica las diferencias en los valores p en los siguientes aovy las lmllamadas? ¿La diferencia solo se debe a los diferentes tipos de cálculos de sumas de cuadrados?

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

Respuestas:


13

summary(aov)utiliza las llamadas sumas de cuadrados de Tipo I (secuenciales). summary(lm)utiliza las llamadas sumas de cuadrados de Tipo III, que no es secuencial. Ver la respuesta de Gung para más detalles.


Tenga en cuenta que debe llamar lm(data ~ factor(f1) * factor(2))( aov()convierte automáticamente el RHS de la fórmula en factores). Luego, tenga en cuenta el denominador para la estadística general en regresión lineal (consulte esta respuesta para obtener más explicaciones):t

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

β c Fc(XX)1c difiere para cada coeficiente probado porque el vector cambia. Por el contrario, el denominador en la prueba ANOVA es siempre MSE.βcF


1
Creo que la primera oración de esta respuesta es incorrecta. La diferencia parece deberse precisamente a diferentes tipos de suma de cuadrados: a saber, tipo I frente a tipo II / III. El Tipo I es secuencial, que es lo que lminforma, mientras que el Tipo II / III no lo es. Esto se explica con bastante detalle en la respuesta de @ gung a la que se vinculó.
ameba dice Reinstate Monica

@amoeba ¿Qué sugieres para corregir la respuesta?
caracal

Edité el primer párrafo, veo si estás de acuerdo con la edición y siéntete libre de cambiarlo como quieras.
ameba dice 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

Estos son dos códigos diferentes. del modelo Lm necesitas los coeficientes. mientras que desde el modelo aov solo está tabulando las fuentes de variación. Prueba el código

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   

Esto proporciona la tabulación de las fuentes de variación que conducen a los mismos resultados.


2
Esto no parece responder a la pregunta, que pregunta por qué los valores p para f1y f2difieren en los dos resúmenes de su panel superior. Parece que sólo se está demostrando que summary(aov(...))y anova(lm(...))en Rtener un resultado similar.
whuber
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.