5

树状图这是我能够生成的热图我正在尝试获取由蛋白质 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 ,但我错过了一些东西。任何想法,将不胜感激。我附上了我得到的热图的图像,以及树状图。图 3 取自 Christopher Bare 的帖子。谢谢

4

1 回答 1

7

在此处输入图像描述

事实证明,我应该首先使用我的数据上的某种相关性生成一个距离矩阵。我使用 pearson 计算了矩阵上的相似度值,然后调用 heapmap 函数,它可以更轻松地对数据进行聚类。一旦我能够生成集群,我就做到了,这样它们就会在对角线上排列。以上是现在的结果。我不得不改变我在数据集上调用热图的方式,以便集群在轴上排列:

heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)
于 2012-08-06T17:45:15.850 回答