首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R使用热图绘制kmeans聚类

R使用热图绘制kmeans聚类
EN

Stack Overflow用户
提问于 2011-02-23 05:18:07
回答 2查看 13K关注 0票数 5

我想用kmeans聚类一个矩阵,并能够将其绘制为热图。这听起来很微不足道,我见过很多这样的情节。我试着用谷歌搜索一下,但找不到绕过它的方法。

我希望能够在这张图上画出像A或B这样的面板。假设我有一个250行5列的矩阵。我不想聚集列,只聚集行。

代码语言:javascript
复制
m = matrix(rnorm(25), 250, 5)

km = kmeans(m, 10)

那么我如何将这10个集群绘制为热图呢?你的评论和帮助是非常受欢迎的。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 19:15:03

下面这样的代码应该是有效的:

代码语言:javascript
复制
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)

票数 6
EN

Stack Overflow用户

发布于 2014-09-20 05:30:52

我认为这两个数字应该是两个数字的总和。左边是热图,右边是根据聚类结果着色的。当然,应该根据聚类结果对数据进行重新排序。顺便说一句,这个问题与问题下面评论的两个问题并不相似。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5084077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档