找回密码
 注册
查看: 8906|回复: 7

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

[复制链接]
发表于 2011-1-20 17:25:56 | 显示全部楼层 |阅读模式
群落按照物种相似形组成进行聚类分析,可以用树状图较好的表现物种的组成关系。受到很多植被学家的重视。这里以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)
回复

使用道具 举报

发表于 2011-1-20 19:29:36 | 显示全部楼层
顶一个 不错。谢谢分享
回复 支持 反对

使用道具 举报

发表于 2011-3-22 21:32:16 | 显示全部楼层
顶,谢谢!
回复 支持 反对

使用道具 举报

发表于 2011-3-30 01:25:51 | 显示全部楼层
很好,谢谢!
回复 支持 反对

使用道具 举报

发表于 2011-4-14 16:38:00 | 显示全部楼层
谢谢分享,,十分感谢
回复 支持 反对

使用道具 举报

发表于 2011-4-14 16:38:17 | 显示全部楼层
谢谢分享,,十分感谢
回复 支持 反对

使用道具 举报

发表于 2011-12-5 09:32:00 | 显示全部楼层
挺有意思的,不过我想,要是svm()和rpart()应该也可以做classification。
回复 支持 反对

使用道具 举报

发表于 2011-12-6 17:42:48 | 显示全部楼层
好东西!好好学习一下!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 13:13 , Processed in 0.037722 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表