R:層次聚類分析-dist、hclust、heatmap等

1、常規(guī)聚類過(guò)程:

(2)首先用dist()函數(shù)計(jì)算變量間距離

dist.r = dist(data, method=" ")?

其中method包括6種方法,表示不同的距離測(cè)度:"euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski"。相應(yīng)的意義自行查找。

(2)再用hclust()進(jìn)行聚類

hc.r = hclust(dist.r, method = “ ”)?

其中method包括7種方法,表示聚類的方法:"ward", "single", "complete","average", "mcquitty", "median" or "centroid"。相應(yīng)的意義自行查找。

(3)畫圖

plot(hc.r, hang = -1,labels=NULL) 或者plot(hc.r, hang = 0.1,labels=F)

hang 等于數(shù)值,表示標(biāo)簽與末端樹杈之間的距離,

若是負(fù)數(shù),則表示末端樹杈長(zhǎng)度是0,即標(biāo)簽對(duì)齊。

labels 表示標(biāo)簽,默認(rèn)是NULL,表示變量原有名稱。labels=F :表示不顯示標(biāo)簽。

2、熱圖聚類過(guò)程:

(1)首先用dist()函數(shù)計(jì)算變量間距離

dist.r = dist(data, method=" ")

(2)用heatmap()函數(shù)進(jìn)行熱點(diǎn)圖聚類

對(duì)于heatmap中具體參數(shù),這里不做過(guò)多介紹,可在幫助文檔中找說(shuō)明。除此heatmap函數(shù)之外,gplots包中的heatmap.2()函數(shù),也可以做熱點(diǎn)圖聚類。

heatmap(as.matrix(dist.r))

3、多維標(biāo)度和聚類的結(jié)果:

MDS方法對(duì)距離矩陣進(jìn)行降維,用不同的顏色來(lái)表示聚類的結(jié)果。

dist.r = dist(data, method=" ")

hc.r = hclust(dist.r)

#cutree函數(shù)提取每個(gè)樣本所屬的類別

result = cutree(hc.r,k=4)

#cmdscale數(shù)據(jù)降維

temp = cmdscale(dist.r, k=2)

x = temp[,1]

y = temp[,2]

#作圖

library(ggplot2)

p = ggplot(data.frame(x,y),aes(x,y))

p+geom_point(size=3,alpha=0.8,aes(colour = factor(result)))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容