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