Augusto,
Você deve crias os contrastes de Tukey. Não há função para isso. Você deve criar exatamente da maneira como você quer comparar, ou seja, pelas suas explicações, comparar níveis de B (pairwise) fixando níveis de A. Combinando as funções que o R possui (combn, apply, contrast, multcomp) a tarefa fica simples.
da <- expand.grid(A=gl(3,1), B=gl(4,4))
da$y <- rnorm(nrow(da))
require(nlme)
m0 <- gls(y~A*B, da)
anova(m0)
# comparar níveis (pairwise) de B fixando nível de A (contrastes de Tukey)
choose(nlevels(da$B), 2) # número de comparações
cpr <- combn(nlevels(da$B), 2); cpr # as comparações
Blev <- levels(da$B)
Alev <- levels(da$A)
cpr.names <- paste("B", cpr[1,], "-", "B", cpr[2,], sep="")
require(contrast)
cpr.list <- lapply(cpr.list, t)
cpr.list # matriz de contrastes de Tukey entre B fixando A
c0 <- apply(cpr, 2,
function(i){
c1 <- contrast(m0, list(A=Alev[1], B=Blev[i[1]]),
list(A=Alev[1], B=Blev[i[2]]))
c1$X
})
colnames(c0) <- paste("A", Alev[1], "/", cpr.names, sep="")
c0
require(multcomp)
glht(m0, linfct=t(c0)) # repetir para os demais níveis de A
À disposição.
Walmes.
==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes@ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================