《數(shù)量生態(tài)學(xué):R語言的應(yīng)用》—第四章聚類分析1 概述

數(shù)量生態(tài)學(xué):R語言的應(yīng)用—第四章聚類分析

之前我們了解了關(guān)聯(lián)測(cè)度與矩陣逼泣,主要是Q模式與R模式趴泌。

從今天開始給大家?guī)怼稊?shù)量生態(tài)學(xué):R語言的應(yīng)用》—第四章聚類分析。

1.R模式思維導(dǎo)圖

首先對(duì)昨天的R模式進(jìn)行梳理一下拉庶,做一個(gè)思維導(dǎo)圖


R模式

2. 聚類概述

在生態(tài)學(xué)研究當(dāng)中嗜憔,聚類的目的是識(shí)別環(huán)境中不連續(xù)對(duì)象的子集。實(shí)際上砍的,聚類分析是所研究對(duì)象(或R模式下的變量)集合的分組痹筛。聚類分析不是典型的統(tǒng)計(jì)方法,因?yàn)闆]有檢驗(yàn)任何統(tǒng)計(jì)假設(shè)廓鞠,但是聚類后分組的穩(wěn)健性是可以檢驗(yàn)的帚稠。聚類分析有助于探索隱藏在數(shù)據(jù)背后的屬性特征。

注意:大部分聚類方法都是基于關(guān)聯(lián)矩陣進(jìn)行計(jì)算床佳,也就說明選擇恰當(dāng)關(guān)聯(lián)系數(shù)非常重要

2.1 不同類型的聚類方法:

聚類方法
  • 層次聚類的結(jié)果一般用聚類樹或類樹狀圖表示滋早。非層次法的結(jié)果只給出所分對(duì)象(或變量)的分類組。
  • 分類組可以進(jìn)一步分析或代表最終結(jié)果砌们,或當(dāng)研究對(duì)象具有空間屬性時(shí)杆麸,可以在研究區(qū)地圖上標(biāo)注不同的分類組

2.2 加載所需的包和數(shù)據(jù)

#加載包和數(shù)據(jù)
library(ade4)
library(adespatial)
library(vegan)
library(gclus)
library(cluster)
library(pvclust)
library(RColorBrewer)
library(labdsv)
library(rioja)
library(indicspecies)
library(mvpart)
library(MVPARTwrap)
library(dendextend)
library(vegclust)
library(colorspace)
library(agricolae)
library(picante)

#加載函數(shù)
source("drawmap.R")
source("drawmap3.R")
source("hcoplot.R")
source("test.a.R")
source("coldiss.R")
source("bartlett.perm.R")
source("boxplerk.R")
source("boxplert.R")

#從聚類結(jié)果獲得二元差異矩陣的函數(shù)
grpdist <- function(X)
{
  require(cluster)
  gr <- as.data.frame(as.factor(X))
  distgr <- daisy(gr,"gower")
  distgr
  }

#導(dǎo)入Doubs數(shù)據(jù)
load("Doubs.RData")
#剔除無物種數(shù)據(jù)的樣方8
spe <- spe[-8,]
env <- env[-8,]
spa <- spa[-8,]
latlong <- latlong[-8,] #經(jīng)緯度

3. 基于連接的層次聚類

3.1 單連接聚合聚類

單連接聚合聚類也被稱為最近鄰體分類,該方法聚合對(duì)象的依據(jù)是最短的成對(duì)距離(或最大的相似性):每個(gè)對(duì)象或聚類簇首次連接的列表稱為主連接鏈浪感,也稱最小拓展樹昔头。

最經(jīng)常的層次聚類分析可以通過states程序包內(nèi)hclust()函數(shù)實(shí)現(xiàn)

#先計(jì)算樣方之間的弦距離矩陣
spe.norm <- decostand(spe,"normalize")
spe.ch <- vegdist(spe.norm,"euc")

#將站點(diǎn)名稱附加到類’dist‘的對(duì)象
attr(spe.ch,"labels") <- rownames(spe)

#進(jìn)行單連接聚合聚類
spe.ch.single <- hclust(spe.ch,method = "single")

#使用默認(rèn)參數(shù)選項(xiàng)繪制聚類樹
plot(spe.ch.single,
     labels=row.names(spe),
     main="弦距離-單連接",
     xlab="單連接聚合聚類",
     ylab="高度")
弦轉(zhuǎn)化數(shù)據(jù)
弦轉(zhuǎn)化矩陣
單連接聚合聚類

基于單連接聚類的結(jié)果,我們?nèi)绾蚊枋鲞@個(gè)數(shù)據(jù)集影兽?是簡(jiǎn)單的單一梯度還是區(qū)分明顯的樣方組揭斧?能否辨認(rèn)樣方的連接鏈?樣方1峻堰、5和9為什么最后連接讹开?

3.2 完全連接聚合聚類

與單連接聚合聚類相反盅视,完全連接聚合聚類(也稱作"最遠(yuǎn)鄰體分類")允許一個(gè)對(duì)象(或一個(gè)組)與另一個(gè)組聚合的依據(jù)是最遠(yuǎn)距離對(duì)。所以兩個(gè)組所以成員之間的距離都必須全部計(jì)算旦万,然后再比較闹击。

#計(jì)算完全連接聚合聚類
spe.ch.complete <- hclust(spe.ch,method = "complete")

plot(spe.ch.complete,
     labels=row.names(spe),
     main="弦距離-完全連接",
     xlab="完全連接聚合聚類",
     ylab="高度")
完全連接聚合聚類

當(dāng)前所給的樣方是沿著河流分布(樣方的編號(hào)按照流向編排),這個(gè)聚類分析結(jié)果是否將位置相近的樣方排在同一個(gè)組呢成艘??jī)煞N完全有效的聚類分析方法分析同一數(shù)據(jù)赏半,為什么產(chǎn)生如此不同的聚類結(jié)果呢?

從上面兩種聚類樹狰腌,我們可以清楚的看到兩種方法聚類原理及結(jié)果的差異:

單連接聚類產(chǎn)生的分類組雖然不清晰除破,但容易識(shí)別數(shù)據(jù)的梯度。相反琼腔,完全連接聚類產(chǎn)生的分組間的差異比較明顯瑰枫,更適合去尋找和識(shí)別數(shù)據(jù)的間斷分布。

4. 平均聚合聚類

平均聚合聚類是一類基于對(duì)象間平均相異或聚類簇形心的聚類方法丹莲。有四種方法光坝,不同的方法區(qū)別在于組的位置計(jì)算方式(算數(shù)平均或形心)和當(dāng)計(jì)算融合距離時(shí)是否用每組包含的對(duì)象數(shù)量作為權(quán)重。

下圖是4種平均聚合聚類方法甥材。引號(hào)內(nèi)名稱來自hclust()函數(shù)內(nèi)與方法對(duì)應(yīng)的參數(shù):

4種平均聚合聚類方法

最有名的當(dāng)屬UPGMA方法盯另,一個(gè)對(duì)象加入一個(gè)組的依據(jù)是這個(gè)對(duì)象與該組每個(gè)成員之間的平均距離。

#計(jì)算平均(UPGMA)聚合聚類
spe.ch.UPGMA <- hclust(spe.ch,method = "average")
plot(spe.ch.UPGMA,
     labels=row.names(spe),
     main="弦距離-UPGMA",
     xlab="UPGMA聚合聚類",
     ylab="高度")
#計(jì)算形心聚類
spe.ch.centroid <- hclust(spe.ch,method = "centroid")
plot(spe.ch.centroid,
     labels=row.names(spe),
     main="弦距離-形心",
     xlab="形心聚類",
     ylab="高度")
平均(UPGMA)聚合聚類
形心聚類

注意:UPGMC和WPGMC有時(shí)會(huì)導(dǎo)致聚類樹翻轉(zhuǎn)的現(xiàn)象洲赵,使得聚類樹不再形成連續(xù)的嵌套分區(qū)鸳惯,分類結(jié)果難以區(qū)分。

5. Ward 最小方差聚類

這是一種基于最小二乘法線性模型準(zhǔn)則的聚類方法叠萍,分組依據(jù)是使組內(nèi)平方和(即方差分析的方差)最小化芝发。聚類簇內(nèi)方差和等于聚類簇內(nèi)成員間距離的平方和除以對(duì)象的數(shù)量。

# 計(jì)算Ward最小方差聚類
spe.ch.ward <- hclust(spe.ch, method="ward.D2")
#注意:在R 3.0.3 版本后苛谷,ward聚類方法的名稱改為“ward.D2”辅鲸,但直接寫ward也可以
plot(spe.ch.ward,
     labels=row.names(spe),
     main="聚類樹",
     ylab="高度",
     xlab="Ward聚類")
Ward 最小方差聚類
#使用距離平方造成此聚類樹上半部分過于膨脹。為了使聚類樹比例看起來
#更協(xié)調(diào)而不影響結(jié)構(gòu)腹殿,可以使用當(dāng)前融合水平的平方根重新繪圖
spe.ch.ward$height <- sqrt(spe.ch.ward$height)
plot(spe.ch.ward,
     labels=row.names(spe),
     main="聚類樹",
     ylab="高度",
     xlab="Ward聚類")
平方根后

6 靈活聚類

cluster程序包內(nèi)的agnes()函數(shù)通過參數(shù)method和par.method的設(shè)置也可以實(shí)現(xiàn)靈活聚類独悴。在agnes()函數(shù)中,靈活的聚類由參數(shù)method="flexible"和參數(shù)par.method設(shè)置為向量值1锣尉、3或4來實(shí)現(xiàn)刻炒。其中最簡(jiǎn)單的應(yīng)用是將參數(shù)設(shè)為β,因此得名“beta-靈活聚類”自沧。

為了獲得β=-0.25落蝙,給出的值是par.method=0.625,因?yàn)棣?(1-β)/2=(1-(-0.25))/2=0.625。見agnes()的幫助文檔文件以獲取更多詳細(xì)信息筏勒。

par(mfrow = c(2, 2))

# 使用cluster程序包內(nèi)的agnes()計(jì)算beta靈活聚類
# beta = -0.1
spe.ch.beta1 <- agnes(spe.ch, method = "flexible",
                      par.method = 0.55)
# beta = -0.25
spe.ch.beta2 <- agnes(spe.ch, method = "flexible",
                      par.method = 0.625)
# beta = -0.5
spe.ch.beta3 <- agnes(spe.ch, method = "flexible",
                      par.method = 0.75)
# 改變agens獲得對(duì)象屬性
class(spe.ch.beta1)
spe.ch.beta1 <- as.hclust(spe.ch.beta1)
class(spe.ch.beta1)
spe.ch.beta2 <- as.hclust(spe.ch.beta2)
spe.ch.beta3 <- as.hclust(spe.ch.beta3)
plot(spe.ch.beta1, 
     labels = rownames(spe), 
     main = "弦距離-Beta-靈活聚類 (beta=-0.1)")
plot(spe.ch.beta2, 
     labels = rownames(spe), 
     main = "弦距離-Beta-靈活聚類 (beta=-0.25)")
plot(spe.ch.beta3, 
     labels = rownames(spe), 
     main = "弦距離-Beta-靈活聚類 (beta=-0.5)")
弦距離-Beta-靈活聚類

今天先簡(jiǎn)單介紹一下聚類分析以及聚類的方法,下一節(jié)將解讀和比較層次聚類結(jié)果旺嬉。

如有不足或錯(cuò)誤之處管行,請(qǐng)批評(píng)指正。
有什么不明白的也歡迎留言討論邪媳。

歡迎關(guān)注微信公眾號(hào):fafu 生信 小蘑菇

往期內(nèi)容:

《數(shù)量生態(tài)學(xué):R語言的應(yīng)用》第三章-R模式

《數(shù)量生態(tài)學(xué):R語言的應(yīng)用》第二版第三章-關(guān)聯(lián)測(cè)度與矩陣------Q模式

《數(shù)量生態(tài)學(xué):R語言的應(yīng)用》第二版筆記2

《數(shù)量生態(tài)學(xué)——R語言的應(yīng)用》第二版閱讀筆記--緒論和第二章(一部分)

R語言 pheatmap 包繪制熱圖(基礎(chǔ)部分)

R語言pheatmap包繪制熱圖進(jìn)階教程

使用PicGo和gitee搭建圖床

組間分析—T檢驗(yàn)捐顷、R語言繪圖

Rmarkdown的xaringan包來制作PPT

htlm文件部署到個(gè)人網(wǎng)站

感謝你的閱讀!S晷А迅涮!你的點(diǎn)贊關(guān)注轉(zhuǎn)發(fā)是對(duì)我最大的鼓勵(lì)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徽龟,一起剝皮案震驚了整個(gè)濱河市叮姑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌据悔,老刑警劉巖传透,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異极颓,居然都是意外死亡朱盐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門菠隆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兵琳,“玉大人,你說我怎么就攤上這事骇径∏。” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵既峡,是天一觀的道長(zhǎng)羡榴。 經(jīng)常有香客問我,道長(zhǎng)运敢,這世上最難降的妖魔是什么校仑? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮传惠,結(jié)果婚禮上迄沫,老公的妹妹穿的比我還像新娘。我一直安慰自己卦方,他們只是感情好羊瘩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般尘吗。 火紅的嫁衣襯著肌膚如雪逝她。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天睬捶,我揣著相機(jī)與錄音黔宛,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苹丸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼徽惋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了座韵?” 一聲冷哼從身側(cè)響起险绘,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎回右,沒想到半個(gè)月后隆圆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翔烁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年渺氧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹬屹。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侣背,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慨默,到底是詐尸還是另有隱情贩耐,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布厦取,位于F島的核電站潮太,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏虾攻。R本人自食惡果不足惜铡买,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望霎箍。 院中可真熱鬧奇钞,春花似錦、人聲如沸漂坏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至谷徙,卻和暖如春拒啰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蒂胞。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工图呢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骗随。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赴叹,于是被迫代替她去往敵國(guó)和親鸿染。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容