6 votos

Contraste con ANOVA en R

Necesito ajustar contrastes ortogonales al siguiente modelo. Vea los siguientes datos de ejemplo:

   rep <- c(rep( 1, 15), rep(2, 15))
    parent1 <- c(1, 2, 3, 4, 5, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 1, 2, 3, 4, 5, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4)
    parent2 <- c(1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5, 4, 5, 5,1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5, 4, 5, 5)
    yld <- c(10, 12, 13, 14, 15, 12, 13, 14, 15, 13, 14, 15, 14, 15, 15,11, 13, 12, 13, 15, 14, 12, 13, 15, 12, 15, 15, 13, 15, 16)
    mydf <- data.frame(rep, parent1, parent2, yld)
    mydf$parent1 <- as.factor(mydf$parent1)
    mydf$parent2 <- as.factor(mydf$parent2)

Padre1 y Padre2 son factores.

    mode11 <- lm(yld ~ rep + parent1:parent2, data = mydf)
    anova(mode11) 

Necesito ajustar los contrastes, supongo que el orden de los tratamientos para los coeficientes de la interacción es:

Parent1    1, 2, 3, 4, 5, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4    
Parent2    1, 2, 3, 4, 5, 2, 3, 4, 5, 3, 4, 5, 4, 5, 5 

# contrasts for Parent1:Parent2 interaction 
mycontrast <- c(-4, -4, -4, -4, 4,  2, 2, 2, 2, 2,  2, 2, 2, 2,2)

Quiero aplicar los contrastes ortogonales anteriores (mycontrasts). Estoy acostumbrado a SAS a este corto de análisis sin embargo no en R.
Tengo dos preguntas:

(a) ¿Cómo puedo aplicar correctamente el contraste al modelo anterior?

(b) Me preocupa el orden de los tratamientos al escribir los coeficientes. Ver mis órdenes asumidos: ¿son correctos? Supongo que debería ser por orden alfabético o por orden de archivo.

Editado: El siguiente mi propio progreso para responder a la pregunta

>     mode11$coefficients # to see all coefficients 

>     mode11$coefficients[1:5] # just first five to save space here 
     (Intercept)               rep parent11:parent21 parent1**2**:parent2**1** parent1**3**:parent2**1** 
     1.500000e+01      1.087998e-15     -4.500000e+00                NA                NA 

Debería el contraste ortogonal ordenarse de la forma en que se ordenan aquí las comparaciones: 1-2, 2-1, 3-1 y así sucesivamente. Como el diseño está desequilibrado, se puede ver que faltan algunas combinaciones, por lo que debemos proporcionar un valor como 0 para ellos.

  contrasts(parent1:parent2) <- cbind(c(-4, -4, -4, -4, 4,  2, 2, 2, 2, 2,

2, 2, 2, 2,2,-4, -4, -4, -4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2,2 )) Error en contrasts<- ( *tmp* , valor = c(-4, -4, -4, -4, 4, 2, 2, 2, : los contrastes sólo se aplican a los factores Además: Mensajes de advertencia: 1: En *tmp* :padre2 : La expresión numérica tiene 30 elementos: sólo se utiliza el primero 2: En *tmp* :padre2 : la expresión numérica tiene 30 elementos: sólo se utiliza el primero

5voto

aron Puntos 174

Mira los "contrastes" y "lm". Los contrastes por defecto en R son diferentes a los de SAS, pero se explica la diferencia y se puede especificar la forma alternativa. (¿Estoy en lo cierto al pensar que quería comparar la salida con SAS?) No mantuve su ":" en la fórmula ya que pensé que sería más claro incluir una interacción completa "*".

 model1 <- lm(yld ~ rep + parent1*parent2, data = mydf,
      contrasts = list(parent1="contr.SAS", parent2="contr.SAS"))
 model1  # note I did not retain your mode-eleven spelling.
#---------------------
Coefficients:
      (Intercept)                rep           parent11           parent12  
        1.500e+01          2.079e-15          6.872e-17          4.262e-16  
         parent13           parent14           parent21           parent22  
       -7.692e-16          5.000e-01         -4.500e+00         -2.500e+00  
         parent23           parent24  parent11:parent21  parent12:parent21  
       -2.500e+00         -2.000e+00                 NA                 NA  
parent13:parent21  parent14:parent21  parent11:parent22  parent12:parent22  
               NA                 NA          5.000e-01                 NA  
parent13:parent22  parent14:parent22  parent11:parent23  parent12:parent23  
               NA                 NA         -9.873e-16          2.040e-16  
parent13:parent23  parent14:parent23  parent11:parent24  parent12:parent24  
               NA                 NA          5.000e-01          1.500e+00  
parent13:parent24  parent14:parent24  
        5.000e-01                 NA  

Observe también que algunos de sus coeficientes de contraste son efectivamente 0, por ejemplo "rep", parents(11,12,13), parent11:parent23 y parent12:parent23.

4voto

Peteris Krumins Puntos 624

Echa un vistazo en Un compañero de R para "Diseño Experimental" por Vikneswaran. Véase el capítulo 5, en particular, sobre "Ortogonalidad, descomposición ortogonal y su papel en el diseño experimental moderno".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X