畫(huà)熱圖會(huì)涉及到的幾個(gè)小函數(shù)
dist()
使用特定的distance計(jì)算方法計(jì)算行與行之間的距離。
可使用的distance計(jì)算方法:"euclidean"、"maximum"、"manhattan"、"canberra"、"binary"、"minkowski"。
> a<-1:5
> b<-a+1
> c<-a+1.1
> d<-cbind(a,b,c)
> rownames(d)<-c(paste("a",1:5,sep=""))
> class(d)
[1] "matrix" "array"
> e<-dist(d,method="euclidean",diag=T,upper=T)
> class(e)
[1] "dist"
> e
a1 a2 a3 a4 a5
a1 0.000000 1.732051 3.464102 5.196152 6.928203
a2 1.732051 0.000000 1.732051 3.464102 5.196152
a3 3.464102 1.732051 0.000000 1.732051 3.464102
a4 5.196152 3.464102 1.732051 0.000000 1.732051
a5 6.928203 5.196152 3.464102 1.732051 0.000000
hclust()
根據(jù)差異進(jìn)行分層分類
可用的方法有:"ward.D"、"ward.D2"、"single"、"complete"、"average" (= UPGMA)、"mcquitty" (= WPGMA)、"median" (= WPGMC)、"centroid" (= UPGMC).
f<-hclust(e,method="ward.D")
plot(f, hang=-1,main="test")# hang等參數(shù)是用來(lái)設(shè)置圖形的

結(jié)果圖
cutree()
將hclust的結(jié)果進(jìn)一步劃分為指定類
設(shè)置參數(shù)k,設(shè)定分為幾類
設(shè)置參數(shù)h,根據(jù)高度劃分為幾類
> g<-cutree(f, k=2)
> g
a1 a2 a3 a4 a5
1 1 1 2 2
> g<-cutree(f, h=2)
> g
a1 a2 a3 a4 a5
1 2 2 3 3
> g<-cutree(f,k=c(2,3))
> g
2 3
a1 1 1
a2 1 2
a3 1 2
a4 2 3
a5 2 3
> g<-cutree(f,h=c(2,3))
> g
2 3
a1 1 1
a2 2 1
a3 2 1
a4 3 2
a5 3 2