[R-br] Automatização de contrastes pela combinação de níveis para PERMANOVA

ASANTOS alexandresantosbr em yahoo.com.br
Sexta Fevereiro 12 10:15:16 BRST 2016


Caros Listeiros,

       Eu estava tentando adaptar uma rotina do Walmes  para geração de 
uma matriz de combinação de níveis para ajustes de modelos GLM, só que 
para PERMANOVA, criados pela função adonis () do pacote vegan, sem 
sucesso, na minha tentativa a rotina já não funciona na geração da 
LSmatrix do pacote doBy e gostria de saber se alguém poderia olhar o meu 
CRM abaixo e dar uma luz?


#Pacotes
require(vegan)
require(doBy)
require(wzRfun)
require(multcomp)

#Dados artificiais
data(mite)
A = c(rep(c(0), 30), rep(c(1), 30))
B = rep(c(rep(c(0), 15), rep(c(1), 15)), 2)
A <- as.factor(A)
B <- as.factor(B)
species <- mite[1:60,]


# Ajuste da PERMANOVA com índice de Jaccard
man.com<-adonis(species ~ A * B, method = "jaccard",permutations=999)
man.com

#Criação da interação entre os fatores
A_B<- interaction(A, B)
levels(A_B)
do.call(rbind, strsplit(levels(A_B), "\\."))


#Novos ajustes
g0 <- adonis(species ~ A * B, method = "jaccard",permutations=999)
g1 <- adonis(species ~ A_B, method = "jaccard",permutations=999)


#Criação da matriz de comparação
M <- LSmatrix(g0, effect=c("A","B"))


data.frame(g0=M%*%coef(g0), g1=coef(g1))


str(M)
grid <- attr(M, "grid")

#Matriz de contrastes
B <- "b"
A <- "a"
spl <- interaction(grid[,2])
i <- 1:nrow(grid)
l <- split(i, f=spl)
contr <- lapply(l,
                 function(row){
                     ## Contrast matrix parwise
                     a <- apc(M[row,], lev=levels(d[,2]))
                     rownames(a) <- paste(spl[row[1]],
                                          rownames(a), sep="/")
                     return(a)
                 })
contr <- do.call(rbind, contr)
contr


#Contrastes com pacote multcomp
summary(glht(g0, linfct=contr),
         test=adjusted(type="fdr"))




Obrigado,

-- 
======================================================================
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:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================



Mais detalhes sobre a lista de discussão R-br