Automatização de contrastes pela combinação de níveis para PERMANOVA

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@yahoo.com.br alexandre.santos@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 ======================================================================

Alexandre, Objetos da classe adonis não retornam vcov e a LSmatrix não foi escrita para receber objetos dessa classe também. Daria para escrever a matriz na mão e lá na frente passar ela para glht estimar os contrastes, etc. Porém, para isso, precisa-se de vcov. Além do mais, você está especificando um modelo multivariado, certo? A glht trabalha sobre modelos univariados. Então eu acho que não seria assim algo tão simples. À disposição. Walmes.

Obrigado pela resposta Walmes, Estou tentando fazer testes two-way post-hoc para dados multivariados, isso baseado em testes one-way post-hoc que tenho encontrados na literatura, que usam TukeyHSD() que foi desenvolvidos para dados univariados, mas veem sendo usados para dados multivariados, como em: ### <code r> require(vegan) ##Dados multivariados artificiais spdf <- matrix(NA, 60, 4, dimnames = list(1:60, c("sp1", "sp2", "sp3", "sp4"))) spdf <- as.data.frame(spdf) spdf$sp1 = rnorm(60, 1) spdf$sp2 = rnorm(60, 1) spdf$sp3 = rnorm(60, 1) spdf$sp4 = rnorm(60, 1) ##Criação de três tratamentos treat <- gl(3, 20, labels = paste("t", 1:3, sep="")) ## Uso de Tukey HSD () para comparação para a par, indicando qual tratamento é diferente do outro envdist <- vegdist(spdf, method="euclidean") betadisp <- betadisper(envdist, treat, type=c("centroid")) TukeyHSD(betadisp) ### </code> Sendo abordagens como essa consenso? ou são sujeitos a discussão? 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@yahoo.com.br alexandre.santos@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 ====================================================================== Em 17/02/2016 12:45, Walmes Zeviani escreveu:
Alexandre,
Objetos da classe adonis não retornam vcov e a LSmatrix não foi escrita para receber objetos dessa classe também. Daria para escrever a matriz na mão e lá na frente passar ela para glht estimar os contrastes, etc. Porém, para isso, precisa-se de vcov. Além do mais, você está especificando um modelo multivariado, certo? A glht trabalha sobre modelos univariados. Então eu acho que não seria assim algo tão simples.
À disposição. Walmes.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br 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.
participantes (2)
-
ASANTOS
-
Walmes Zeviani