Extrair dissimilaridade média entre tratamentos no pacote vegan

Boa noite Pessoal, No meu CRM abaixo utilizando o pacote vegan, eu estou tentando extrair a dissimilaridade média (por agrupamento usando o algorítimo average-linkage ) entre 4 espécies hipotéticas, causado por variabilidade das repetições (20) em três tratamentos artificiais, porém não estou conseguindo extrair a dissimilaridade média por tratamento do objeto pts.spc.clust criado, alguém teria alguma sugestão para me ajudar? Obrigado, segue CRM: require(vegan) # Matriz das espécies spdf <- matrix(NA, 60, 4, dimnames = list(1:60, c("sp1", "sp2", "sp3", "sp4"))) spdf <- as.data.frame(spdf) # Adicionado ruído eff <- sort(rep(1:6, 10)) spdf$sp1 = eff + rnorm(60, 0, 0.25) spdf$sp2 = eff + rnorm(60, 0, 0.25) spdf$sp3 = eff + rnorm(60, 0, 0.25) spdf$sp4 = eff + rnorm(60, 0, 0.25) # Tratamentos trat <- gl(3, 20, labels = paste("t", 1:3, sep="")) #Repetições rept<-rep(1:20,3) #Juntando tratamentos e repetições trat_r<-paste(trat,rept,sep="_") pts.spc<-cbind(trat_r,spdf) rownames(pts.spc) = pts.spc[,1] pts.spc<-pts.spc[,-(1)] head(pts.spc) # Calcula distância de bray-curtis entre amostras pts.spc.dist <- vegdist(pts.spc, method = "bray") #Agrupamento de comunidades usando o algorítimo average-linkage pts.spc.clust <- hclust(pts.spc.dist, method = "average") # Diagrama de cluster plot(pts.spc.clust, ylab = "Dissimilaridade") -- ====================================================================== 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 ======================================================================

Alexandre, bom dia! Segue uma sugestão, ### <code r> require(vegan) { set.seed(765) ### pra reprodutibilidade! # Matriz das espécies spdf <- matrix(NA, 60, 4, dimnames = list(1:60, c("sp1", "sp2", "sp3", "sp4"))) spdf <- as.data.frame(spdf) # Adicionado ruído eff <- sort(rep(1:6, 10)) spdf$sp1 = eff + rnorm(60, 0, 0.25) spdf$sp2 = eff + rnorm(60, 0, 0.25) spdf$sp3 = eff + rnorm(60, 0, 0.25) spdf$sp4 = eff + rnorm(60, 0, 0.25) # Tratamentos trat <- gl(3, 20, labels = paste("t", 1:3, sep="")) #Repetições rept<-rep(1:20,3) } #Juntando tratamentos e repetições trat_r<-paste(trat,rept,sep="_") pts.spc<-cbind(trat_r,spdf) rownames(pts.spc) = pts.spc[,1] pts.spc<-pts.spc[,-(1)] head(pts.spc) # Calcula distância de bray-curtis entre amostras pts.spc.dist <- vegdist(pts.spc, method = "bray") #Agrupamento de comunidades usando o algorítimo average-linkage pts.spc.clust <- hclust(pts.spc.dist, method = "average") # Diagrama de cluster plot(pts.spc.clust, ylab = "Dissimilaridade") # --- Dissimilaridade média --- # str(pts.spc.clust) res <- data.frame(lab=pts.spc.clust$labels, height=c(0, pts.spc.clust$height)) res$trat <- as.factor(sub("_.*$", "", res$lab)) head(res) tapply(res$height, res$trat, mean) # t1 t2 t3 # 0.01395473 0.03670206 0.13605946 </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Muito obrigado Éder, era exatamente esta a informação que eu queria extrair, -- ====================================================================== 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 ====================================================================== On 24/04/2015 09:34, Éder Comunello wrote:
Alexandre, bom dia!
Segue uma sugestão,
### <code r> require(vegan)
{ set.seed(765) ### pra reprodutibilidade! # Matriz das espécies spdf <- matrix(NA, 60, 4, dimnames = list(1:60, c("sp1", "sp2", "sp3", "sp4"))) spdf <- as.data.frame(spdf) # Adicionado ruído eff <- sort(rep(1:6, 10)) spdf$sp1 = eff + rnorm(60, 0, 0.25) spdf$sp2 = eff + rnorm(60, 0, 0.25) spdf$sp3 = eff + rnorm(60, 0, 0.25) spdf$sp4 = eff + rnorm(60, 0, 0.25) # Tratamentos trat <- gl(3, 20, labels = paste("t", 1:3, sep="")) #Repetições rept<-rep(1:20,3) }
#Juntando tratamentos e repetições trat_r<-paste(trat,rept,sep="_")
pts.spc<-cbind(trat_r,spdf) rownames(pts.spc) = pts.spc[,1] pts.spc<-pts.spc[,-(1)] head(pts.spc)
# Calcula distância de bray-curtis entre amostras pts.spc.dist <- vegdist(pts.spc, method = "bray")
#Agrupamento de comunidades usando o algorítimo average-linkage pts.spc.clust <- hclust(pts.spc.dist, method = "average")
# Diagrama de cluster plot(pts.spc.clust, ylab = "Dissimilaridade")
# --- Dissimilaridade média --- # str(pts.spc.clust) res <- data.frame(lab=pts.spc.clust$labels, height=c(0, pts.spc.clust$height)) res$trat <- as.factor(sub("_.*$", "", res$lab)) head(res) tapply(res$height, res$trat, mean) # t1 t2 t3 # 0.01395473 0.03670206 0.13605946
</code>
Éder Comunello <c <mailto:comunello.eder@gmail.com>omunello.eder@gmail.com <mailto:omunello.eder@gmail.com>> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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.

Alexandre, Se não considerar muita intromissão de minha parte, gostaria de saber pra que vai utilizar essa informação. E aproveitando, qual critério de corte você costuma utilizar? Já vi algumas indicações pra usar a média + 3 desvios: mean(res$height)+(3*sd(res$height)) Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Boa tarde Éder, Essa informação estou utilizando para estudar os grupos formados no dendrograma por influência da variabilidade dentro do tratamentos e os grupos ou ramos formados por diferença entre os tratamentos e a relação desses grupos com comparações entre contrastes criados na PERMANOVA, Muito obrigado pelas dicas, -- ====================================================================== 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 ====================================================================== On 24/04/2015 11:44, Éder Comunello wrote:
Alexandre,
Se não considerar muita intromissão de minha parte, gostaria de saber pra que vai utilizar essa informação.
E aproveitando, qual critério de corte você costuma utilizar? Já vi algumas indicações pra usar a média + 3 desvios:
mean(res$height)+(3*sd(res$height))
Éder Comunello <c <mailto:comunello.eder@gmail.com>omunello.eder@gmail.com <mailto:omunello.eder@gmail.com>> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ 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
-
Éder Comunello