2012-08-28 71 views
3

我有一個表,其中包含每個組內的每個變量的計數。聚類計數值

Age var1 var2 var3 var4 
10 0 200 0 100 
20 180 500 200 300 
30 0 80 0 60 
40 150 10 90 20 

我試圖創建一個使用R.在熱圖的結果的熱圖,列在相同的順序,因爲它們存在於數據。

我需要以這樣的方式排列/聚集這些列,使得具有相似值的變量聚集在一起(形成聚集的外觀)。

在上面的示例中,查看計數(值),var1更類似於var3,而var2更類似於var4。

這裏是產生相同的代碼:

tmp = rbind(c(0,200,0,100), 
rbind(c(180, 500, 200, 300), 
rbind(c (0, 80, 0, 60), 
c(150, 10, 90, 20) 
))) 
rownames(tmp) = c('age10', 'age20', 'age30', 'age40') 
colnames(tmp) = c('var1', 'var2', 'var3', 'var4') 
tmp 
heatmap(tmp, Rowv=NA, Colv=NA, 
     col = heat.colors(256), scale="column", margins=c(5,10)) 
+0

如果你犯了一個[重複的例子, ](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),這表明你的問題/問題,我們會發現它更容易回答。 – Andrie

+0

你是對的@joran我的壞會刪除我的評論,因爲我不知道那是什麼。 – Goldentp

+1

添加了可重複的代碼。 – learner

回答

2

只要簡單地除去Rowv=NAColv=NA參數,熱圖將通過值集羣:

heatmap(tmp, col = heat.colors(256), scale="column", margins=c(5,10)) 
+0

謝謝。爲我工作。 – learner