[R-br] Extrair dissimilaridade média entre tratamentos no pacote vegan
Éder Comunello
comunello.eder em gmail.com
Sexta Abril 24 10:34:56 BRT 2015
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 em gmail.com>omunello.eder em gmail.com>
Dourados, MS - [22 16.5'S, 54 49'W]
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150424/9bf3412b/attachment.html>
Mais detalhes sobre a lista de discussão R-br