在PRIMER中有一个名为LINKTREE
的函数,其中基于社区不相似性创建树,但每个断点必须对应于一个或多个环境(约束)变量中的阈值。
R中是否有等效功能? hclust
基于相异矩阵创建树,但我还没有找到一种方法来使用第二个数据框“约束”它。
要播放的数据:
library(vegan)
comm <- data.frame(oak = c(4,10,3), birch = c(3,6,1), maple = c(9,6,3),
row.names = c('site 1','site 2','site 3'))
comm.dist <- dist(comm)
env <- data.frame(temp = c(35,39,31), rain = c(103,85,80),
row.names = c('site 1','site 2','site 3'))
tree <- hclust(comm.dist)
plot(tree)
cca <- cca(comm ~ ., data = env)
plot(cca, display = c('sp', 'bp'))
所需的输出将是一棵树,其中第一个断点将站点2与1和3分开,因为它最不相似,但它也被标记为“temp&gt; 37”,因为站点2是唯一具有温度的站点37. 1和3之间的断点是'temp&gt; 33'和/或'rain&gt; 95'