聚类计数值

我有一个表,其中包含每个组内每个变量的计数 .

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

回答(1)

2 years ago

只需删除 Rowv=NAColv=NA 参数,热图将按值聚集:

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