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)))