
Uma matriz de contraste tem que ter no máximo k-1 funções e essas devem ser linearmente independentes. Os contrastes de Tukey formam uma matriz com k*(k-1)/2 hipóteses (ou funções) lineares. Além do mais, as funções não são linearmente independentes, o posto é sempre k-1. É por isso que você não consegue usar os contrastes de Tukey como definição de restrições na estimação. Abaixo segue CMR para esclarecer e como montar seus próprios contrastes. ## Fator de 4 níveis. trat <- gl(4, 3) levels(trat) ## k níveis => k-1 funções/combinações lineares independentes. contrasts(trat) contrasts(C(trat, contr="contr.sum")) contrasts(C(trat, contr="contr.helmert")) Xcontr <- multcomp::contrMat(n=1:nlevels(trat), type="Tukey") dim(Xcontr) ## Posto das matrizes (número de autovalores não nulos). eigen(crossprod(Xcontr))$values eigen(crossprod(contrasts(trat)))$values ## Como implementar contrastes próprios? ## Ex: Contrastes entre pares na sequência (1-2, 2-3, 3-4, etc). ## Se \beta = C\mu então \mu = C^{-1}\beta. C <- rbind("mu"=c(1,1,1,1)/4, "1vs2"=c(1,-1,0,0), "2vs3"=c(0,1,-1,0), "3vs4"=c(0,0,1,-1)) K <- solve(C) ## K = C^{-1}. contrasts(trat) <- K[,-1] ## Retira o col do intercepto, deixa k-1. y <- rnorm(trat, as.numeric(trat), sd=0.01) tapply(y, trat, mean) mean(y) diff(tapply(y, trat, mean)) m0 <- lm(y~trat) coef(m0) anova(m0) summary(m0) À disposição. Walmes.