🔍 检索绿色通道
     0.ESI查询      1.JCR-IF查询      2.CiteScore-IF查询     3.SCI期刊检索     4.中科院分区查询     5.SSCI检索     6.AHCI检索     7.ESCI检索(新增)     8.EI检索     9.EI检索备用     10.ISTP/CPCI检索备用(新增)      11.梅斯期刊智能查询     12.CSCD检索     13.CSSCI检索     14.北大核心检索      15.国自然官方查询     16.国自然梅斯查询     17.国自然科学网查询     18.论文被检索情况查询方法

在R中正确运行“系统(层次)聚类分析”


(本文于 2016-7-5 15:43 首发于 “科学网”)

Hierarchical Cluster Analysis in R or Rstudio

第一步:导入数据 ex.

1
2
library(vegan)
data(dune)

第二步:将原始转换成“距离”矩阵 #假设数据不需要进行标准化

1
2
3
4
5
6
7
8
# library(vegan)
distance.ex<-vegdist(dune,method="euc",na.rm=TRUE)

#计算距离的method (Dissimilarity index)包括:

#"manhattan", "euclidean", "canberra","bray", "kulczynski", "jaccard", "gower", "altGower", "morisita", "horn","mountford", "raup" , "binomial", "chao", "cao" or "mahalanobis".

#其中"bray"是指 "Bray–Curtis [Dissimilarity] index"

第三步:聚类分析

1
2
3
4
5
6
7
8
9
hclust.ex <- hclust(distance.ex,method="ward.D2")

#聚类的方法包括:

#"ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty"(= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC).

# 注意一般软件ward算法相对应的hclust中为ward.D2,小心用错

# agnes(*, method="ward") corresponds to hclust(*, "ward.D2").

第四步:作树状图

1
2
plot(hclust.ex,hang=-1)    
# hang取负数时,树状图y轴 从0 开始。


#补充一

完整地写个bray-curtis距离的代码:

1
2
3
4
5
library(vegan)
data(dune)
distance.bray<-vegdist(dune,method="bray",na.rm=TRUE) # bray 距离
hclust.bray<- hclust(distance.bray,method="average") # UPGMA 聚类
plot(hclust.bray,hang=-1)

见下图,y轴的 Height 为 “Bray-Curtis不相似性百分比”


Q & A

(1)聚类方法”centroid” 相对应使用的距离为平方欧式距离 squared Euclidean distances. 如:hc1ust.centroid <- hclust(dist(cent)^2, method = “cen”)

(2)聚类方法”ward.D2” 相对应使用的距离为欧式距离 “Euclidean” distances.

(3)聚类方法”average”(=UPGMA) 相对应使用的距离为 “bray”(=Bray-Curtis) distances.


#补充二

1
#{vegan} package 内还包含以下应用程序:ANOSIM,BIO-ENV,metaMDS(=nMDS),CCA,RDA,SIMPER,vegdist等

参考:

  1. vegdist()应用代码 https://cran.r-project.org/web/packages/vegan/vegan.pdf

  2. hclust()应用代码 https://stat.ethz.ch/R-manual/R-devel/library/stats/html/hclust.html

  3. 不同聚类方法的比较 https://cran.r-project.org/web/packages/dendextend/vignettes/Cluster_Analysis.html

  4. 实例 http://ecology.msu.montana.edu/labdsv/R/labs/lab13/lab13.html



<已有 次阅读>


由于本文作者水平有限,文中如有错误之处,欢迎大家批评指正!

① 本文仅代表作者个人观点,不代表任何其它立场,欢迎交流合作!

② 转载与分享请注明:本文源于为学为研网 http://meiweiping.cn

分享到