使用R中的层次聚类生成描绘数据集中的聚类的热图

Alo*_*los 5 r cluster-analysis hierarchical-clustering dendrogram heatmap

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

Alo*_*los 7

在此输入图像描述

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

heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)
Run Code Online (Sandbox Code Playgroud)