我想用kmeans聚类矩阵,并能够将其绘制为热图。这听起来很琐碎,我看过很多这样的情节。我尝试过google,但是找不到方法。R绘制kmeans与热图聚类
我希望能够在此图上绘制类似面板A或B的内容。 假设我有一个250行5列的矩阵。我不想聚集列,只是行。
m = matrix(rnorm(25), 250, 5)
km = kmeans(m, 10)
那么我该如何绘制这10个集群作为热图?您的意见和帮助不仅仅是欢迎。
谢谢。
我想用kmeans聚类矩阵,并能够将其绘制为热图。这听起来很琐碎,我看过很多这样的情节。我尝试过google,但是找不到方法。R绘制kmeans与热图聚类
我希望能够在此图上绘制类似面板A或B的内容。 假设我有一个250行5列的矩阵。我不想聚集列,只是行。
m = matrix(rnorm(25), 250, 5)
km = kmeans(m, 10)
那么我该如何绘制这10个集群作为热图?您的意见和帮助不仅仅是欢迎。
谢谢。
类似下面应该工作:
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)
感谢Paolo的回复。但是我有点困惑,为什么我们要放松情节中的5列? – 2011-02-23 14:07:51
我们不是!尝试:pheatmap(m2 [,1:5],cluster_rows = F,cluster_cols = F,col = brewer.pal(10,“Set3”)) – Paolo 2011-02-23 14:26:01
我认为这两个数字都应该来自两个数字组合。左边是热图,右边是基于聚类结果的颜色。当然,数据应该按照簇的结果进行重新排序。顺便说一句,这个问题与这个问题下面评论的两个问题不相似。
这个问题是类似于这个(http://stackoverflow.com/q/5687891/597069),它有很好的答案。 – tflutre 2011-11-03 23:04:33
看看[这个问题](http://stackoverflow.com/q/6673162/707145) – MYaseen208 2012-07-02 23:34:00