【发布时间】:2012-08-03 14:44:23
【问题描述】:
我正在尝试获取由蛋白质 dna 相互作用组成的数据集,对数据进行聚类并生成显示结果数据的热图,以使数据看起来与排列在对角线。我能够对数据进行聚类并生成该数据的树状图,但是当我使用 R 中的热图函数生成数据的热图时,集群不可见。如果您查看前两张图像,一张是我能够生成的树状图,第二张是我能够生成的热图,第三张只是显示我期望结果的集群热图的示例粗略看。从比较第二张和第三张图像可以看出,很明显第三张图像中有簇,而第二张图像中没有。
这是我的数据集的链接: http://pastebin.com/wQ9tYmjy
我能够对数据进行聚类并在 R 中生成一个就好了:
args <- commandArgs(TRUE);
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);
location <- args[2];
matrix_d <- dist(matrix_a);
hc <- hclust(matrix_d,"average");
mypng <- function(filename = "mydefault.png") {
png(filename)
}
options(device = "mypng")
plot(hc);
我也可以生成热图:
matrix_a <- read.table("Arda_list.txt.binary.matrix.txt", sep='\t', header=T, row.names=1);
mtscaled <- as.matrix(scale(matrix_a))
heatmap(mtscaled, Colv=F, scale='none')
我尝试关注该帖子: http://digitheadslabnotebook.blogspot.com/2011/06/drawing-heatmaps-in-r.html 克里斯托弗·巴雷(Christopher Bare),但我错过了一些东西。任何想法,将不胜感激。我附上了我得到的热图的图像,以及树状图。图 3 取自 Christopher Bare 的帖子。谢谢
【问题讨论】:
-
这样您就可以进行聚类并生成热图...到底是什么问题?
-
嗨,保罗,当我生成热图时,数据没有聚集。我似乎能够生成聚类数据树,并且可以生成数据的热图,但是当我生成热图时,数据没有被聚类。
-
请提供一个可重现的示例,并包括聚类的输出和热图。从示例和输出中,您需要准确地向我们展示您的预期,以及您得到错误的原因。
-
嗨,保罗,问题是我期待清晰的集群并且没有得到类似的东西,但事实证明我应该通过 pearson 或其他东西运行我的数据以生成良好的距离值。一旦我这样做了,我就会在数据中看到集群。
-
@PaulHiemstra 我已尝试回答您所有的 cmets,如果仍然没有意义,请告诉我。谢谢
标签: r cluster-analysis heatmap dendrogram hierarchical-clustering