2012-08-28 34 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