complexheatmap,使用树状图进行行聚类`cluster_rows = other_dend`不起作用

时间:2019-07-09 14:02:44

标签: r heatmap dendrogram phylogeny

我在对热图应用其他树状图时遇到麻烦。但这在我的可复制示例中有效,这很奇怪!有什么建议要改变吗?

我正在尝试将系统发育树状图与表型热图融合。我已经尝试了以下示例,并且可以正常工作。

    require(ComplexHeatmap)
    require(dendextend)

#1 two matrix, b for the heatmap and b1 for the dendrogram: 

    a=rnorm(10,1)
    a1=rnorm(10,1)
    b=as.matrix(a)
    b1=as.matrix(a1)
    dim(b)=c(5,2)
    dim(b1)=c(5,2)

#2 give them the same names

    name=c(1:5)
    name
    rownames(b) <- paste(name)
    rownames(b1) <- paste(name)

#3 make the dendrogram from b1

    d1=dist(b1,method="euclidean")
    d1=as.dist(d1)
    h1=hclust(d1,method="ward.D")
    dend1=as.dendrogram(h1)
    plot(dend1)

#4 the heatmap

    Heatmap(b,
            cluster_columns=FALSE,
            cluster_rows = dend1, 
            row_names_side = "left",
            row_dend_reorder=F,
            show_row_names=T)

如果我们现在将cluster_rows更改为T或不使用cluster_rows,则总是按预期将正确的名称赋予正确的值。

在我的情况下,名称/标签与热图不同,但与树状图不同。不幸的是,我无法重现此问题,但还是希望能有一些投入。我使用的是完全相同的代码,只是bdend1不同。

我的dend1class "dendrogram"List of 2

0 个答案:

没有答案