张金龙的博客分享 http://blog.sciencenet.cn/u/zjlcas 物种适应性、分布与进化

博文

R软件中如何进行群落聚类分析?

已有 20100 次阅读 2010-4-8 13:55 |个人分类:科研笔记|系统分类:科研笔记|关键词:学者| 聚类分析, 群落, R软件, 物种关联

群落按照物种相似形组成进行聚类分析,可以用树状图较好的表现物种的组成关系。受到很多植被学家的重视。这里以R软件实现聚类分析为例。

如果按照物种组成的相似性做聚类分析,那么可以用Jaccard指数(经过转换的)。Jaccard指数只考虑物种在两个样方间是否重复出现,盖度在分析的过程中并不起什么作用。但是如果对乔木和灌木进行分析,就可以考虑个体的数量,计算样方物种组成的相似性的时候用Bray-Curtis指数。Jaccard指数和Bray-Curtis指数在众多生态学相关的程序包中都是可以计算的。下面说一下在R软件中,结合vegan程序包,对草本样方的物种组成进行聚类分析。

下面是在R中的具体操作过程:

#第一步

#是矩阵的整理,建议先整理一下各样地的名录,成如下格式,再用R整理成物种矩阵。

plotname species

plot1 sp1

plot1 sp2

plot1 sp3

plot1 sp4

plot1 sp5

plot2 sp1

plot2 sp3

plot3 sp4

plot3 sp2

plot3 sp6

plot3 sp7

.....

#Excel中,另存为csv格式,如存名称为 herbplots.csv

#第二步 读取文件

herb.data<- read.csv("D:/herb/herbplots.csv", header=T)

#第三步 转换为 矩阵

pre.matrix <- table(herb.data)

#此时生成的矩阵,形式如下:

plotname sp1 sp2 sp3 sp4 sp5 sp6 sp7

plot1 1 1 1 1 1 0 0

plot2 1 0 1 0 0 0 0

plot3 0 1 0 1 0 1 1

#第四步 计算各样方的Jaccard距离

plot.dist <- vegdist(pre.matrix, method="jaccard")

 

#距离矩阵为一个半矩阵,形式如下

plot1 plot2

plot2 0.6000000

plot3 0.7142857 1.0000000

 

#第五步 使用UPGMA方法或者Ward法,对群落进行聚类

plot.hc <- hclust(plot.dist , "ave")

#绘图

plot(plot.hc)

plot(plot.hc, hang=-1)

#转换为dendrogram之后绘图

dendro.plot<-as.dendrogram(plot.hc)

plot(dendro.plot, horiz=T)

 



https://m.sciencenet.cn/blog-255662-310033.html

上一篇:R软件计算生物多样性指数
下一篇:计算种间关联度(种间连接)的spaa程序包

1 陈金瓯

发表评论 评论 (5 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-12-1 11:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部