Caros Listeiros,

Estou tentando utilizar a função apc do Walmes para fazer um desdobramento de 26 níveis dentro de um fator, a função dele ajuda muita a fugir da montagem manual de contrastes, funcionou muito bem para interações duplas e triplas, mas para investigar um nível não estou conseguindo, já quebrei a cabeça e quando chego no momento de montar os níveis dentro dele mesmo quando tento criar o objeto contr recebo a mensagem:
Erro em pmc[cbn[1, ], ] : número incorreto de dimensões

            Baseado no CRM abaixo alguém pode me ajudar?  Obrigado

##-----------------------------------------------------------------------------

require(multcomp)
require(doBy)
require(latticeExtra)

## apc: build all pairwise comparisons matrix by a LSmatrix.
source("apc.r")

##-----------------------------------------------------------------------------

d <- data.frame(a=factor(sample(c(paste("Tratamento_",letters,sep="")), 1000, rep=TRUE)))

xtabs(~a, d)

d$y <- rpois(nrow(d), lambda=10)

## Interação.
d$a.int <- interaction(d$a)
levels(d$a.int)

## O padrão de funcionamento faz assim, o primeiro fator troca níveis
## dentro do segundo que troca níveis dentro do terceiro, etc, veja.
do.call(rbind, strsplit(levels(d$a.int), "\\."))

## Sabendo disso você pode passar da a, b e c na forma que lhe for mais
## conveniente. Por outro lado, é desperdício de tempo operar assim
## porque eu considero mais fácil declarar o modelo fatorial, usar a
## LSmatrix para gerar a matriz de contraste e usá-la.

g0 <- glm(y~a, family="poisson", data=d)
g1 <- glm(y~0+d$a.int, family="poisson", data=d)

M <- LSmatrix(g0, effect=c("a"))
M

## As estimativas das médias (na escala do preditor linear).
data.frame(g0=M%*%coef(g0), g1=coef(g1))

## Combinações de níveis correspondentes as médias.
str(M)
grid <- attr(M, "grid")

## Matriz de contrastes entre níveis de `focus` dentro dos níveis de
## `split`.
trat <- "a"
trat <- "a"
spl <- interaction(grid[,split])
i <- 1:nrow(grid)
l <- split(i, f=spl)
contr <- lapply(l,
                function(row){
                    ## Matriz de contrastes par a par.
                    a <- apc(M[row,], lev=levels(d[,trat]))
                    ## Prefixo no nome das linhas.
                    rownames(a) <- paste(spl[row[1]],
                                         rownames(a), sep="/")
                    return(a)
                })
contr <- do.call(rbind, contr)
contr
## Constrastes.
summary(glht(g0, linfct=contr),
        test=adjusted(type="fdr"))

--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:[email protected]
        [email protected]
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================


---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com

_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

Responder a