我想用kmeans聚類矩陣,並能夠將其繪製爲熱圖。這聽起來很瑣碎,我看過很多這樣的情節。我嘗試過google,但是找不到方法。R繪製kmeans與熱圖聚類
我希望能夠在此圖上繪製類似面板A或B的內容。 假設我有一個250行5列的矩陣。我不想聚集列,只是行。
m = matrix(rnorm(25), 250, 5)
km = kmeans(m, 10)
那麼我該如何繪製這10個集羣作爲熱圖?您的意見和幫助不僅僅是歡迎。
謝謝。
我想用kmeans聚類矩陣,並能夠將其繪製爲熱圖。這聽起來很瑣碎,我看過很多這樣的情節。我嘗試過google,但是找不到方法。R繪製kmeans與熱圖聚類
我希望能夠在此圖上繪製類似面板A或B的內容。 假設我有一個250行5列的矩陣。我不想聚集列,只是行。
m = matrix(rnorm(25), 250, 5)
km = kmeans(m, 10)
那麼我該如何繪製這10個集羣作爲熱圖?您的意見和幫助不僅僅是歡迎。
謝謝。
類似下面應該工作:
set.seed(100)
m = matrix(rnorm(10), 100, 5)
km = kmeans(m, 10)
m2 <- cbind(m,km$cluster)
o <- order(m2[, 6])
m2 <- m2[o, ]
library(pheatmap) # I like esoteric packages!
library(RColorBrewer)
pheatmap(m2[,1:5], cluster_rows=F,cluster_cols=F, col=brewer.pal(10,"Set3"),border_color=NA)
感謝Paolo的回覆。但是我有點困惑,爲什麼我們要放鬆情節中的5列? – 2011-02-23 14:07:51
我們不是!嘗試:pheatmap(m2 [,1:5],cluster_rows = F,cluster_cols = F,col = brewer.pal(10,「Set3」)) – Paolo 2011-02-23 14:26:01
我認爲這兩個數字都應該來自兩個數字組合。左邊是熱圖,右邊是基於聚類結果的顏色。當然,數據應該按照簇的結果進行重新排序。順便說一句,這個問題與這個問題下面評論的兩個問題不相似。
這個問題是類似於這個(http://stackoverflow.com/q/5687891/597069),它有很好的答案。 – tflutre 2011-11-03 23:04:33
看看[這個問題](http://stackoverflow.com/q/6673162/707145) – MYaseen208 2012-07-02 23:34:00