Resultados contradictorios de la suma de cuadrados de Tipo III en ANOVA en SAS y R

15

Estoy analizando datos de un experimento factorial desequilibrado con SASy R. Ambos SASy Rproporcionan una suma de cuadrados de Tipo I similar, pero su suma de cuadrados de Tipo III son diferentes entre sí. A continuación se presentan SASy Rlos códigos y las salidas.

DATA ASD;
INPUT Y T B;
DATALINES;
 20 1 1
 25 1 2
 26 1 2
 22 1 3
 25 1 3
 25 1 3
 26 2 1
 27 2 1
 22 2 2
 31 2 3
;

PROC GLM DATA=ASD;
CLASS T B;
MODEL Y=T|B;
RUN;

Tipo I SS de SAS

Source  DF       Type I SS     Mean Square    F Value    Pr > F
T       1     17.06666667     17.06666667       9.75    0.0354
B       2     12.98000000      6.49000000       3.71    0.1227
T*B     2     47.85333333     23.92666667      13.67    0.0163

Tipo III SS de SAS

Source  DF     Type III SS     Mean Square    F Value    Pr > F
T       1     23.07692308     23.07692308      13.19    0.0221
B       2     31.05333333     15.52666667       8.87    0.0338
T*B     2     47.85333333     23.92666667      13.67    0.0163

Código R

Y <- c(20, 25, 26, 22, 25, 25, 26, 27, 22, 31)
T <- factor(x=rep(c(1, 2), times=c(6, 4)))
B <- factor(x=rep(c(1, 2, 3, 1, 2, 3), times=c(1, 2, 3, 2, 1, 1)))
Data <- data.frame(Y, T, B)
Data.lm <- lm(Y~T*B, data = Data)
anova(Data.lm)
drop1(Data.lm,~.,test="F") 

Tipo I SS de R

Analysis of Variance Table

Response: Y
          Df Sum Sq Mean Sq F value  Pr(>F)  
T          1 17.067  17.067  9.7524 0.03543 *
B          2 12.980   6.490  3.7086 0.12275  
T:B        2 47.853  23.927 13.6724 0.01629 *
Residuals  4  7.000   1.750                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Tipo III SS de R

Single term deletions

Model:
Y ~ T * B
       Df Sum of Sq    RSS     AIC F value  Pr(>F)  
<none>               7.000  8.4333                  
T       1    28.167 35.167 22.5751 16.0952 0.01597 *
B       2    20.333 27.333 18.0552  5.8095 0.06559 .
T:B     2    47.853 54.853 25.0208 13.6724 0.01629 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

¿Me estoy perdiendo de algo? Si no, ¿cuál es la correcta Tipo III SS?

MYaseen208
fuente
Vea la respuesta de John Fox aquí: tolstoy.newcastle.edu.au/R/help/05/11/16368.html
Aaron - Restablezca a Monica

Respuestas:

29

El tipo III SS depende de la parametrización utilizada. Si pongo

  options(contrasts=c("contr.sum","contr.poly"))

antes de ejecutar lm()y luego drop1()obtengo exactamente el mismo tipo III SS que SAS. Para el dogma de la comunidad R sobre este tema, debe leer Exegeses de Venables en modelos lineales .

Ver también: ¿Cómo se hace un ANOVA SS tipo III en R con códigos de contraste?

Ben Bolker
fuente
1
@ Peter Si crees que puede caber en un comentario, ¿por qué no? No lo creo, entonces ¿por qué no hacer una nueva pregunta (y un enlace a esta)?
chl
1
@chl Mi punto es básico que los efectos principales no tienen significado en la presencia de interacciones - que son el efecto cuando la otra variable es 0. A menudo esto es significativo. No estoy seguro de que valga la pena un hilo completo.
Peter Flom - Restablece a Monica
33
Estoy de acuerdo en que hay situaciones en las que se pueden interpretar los efectos principales (Venables toma una línea muy fuerte), pero hay muchas situaciones en las que son difíciles. Creo que "no hagas esto a menos que sepas lo que estás haciendo" es una configuración predeterminada razonable ...
Ben Bolker
1
¿Lo siguiente restablecerá los contrastes al estándar R? options(contrasts=c("contr.treatment", "contr.poly"))
Rasmus Larsen
1
sí ...........
Ben Bolker