[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