对计数值进行聚类

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

如果您制作了一个可重现的示例,展示您的问题/难题,我们会更容易地回答。 - Andrie
你是对的 @joran,我的错,我会删除我的评论,因为我不知道那是什么。 - Goldentp
1个回答

2
只需删除Rowv=NAColv=NA参数,热图将按值进行聚类:
heatmap(tmp, col = heat.colors(256), scale="column", margins=c(5,10))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接