如何在R中使用“ComplexHeatmap”包在行注释中添加ID变量?

时间:2016-05-09 15:09:26

标签: r heatmap hierarchical-clustering

我创建了一个基本热图,其中列对应于时间点,每行代表一个人。在我的数据集中,我有一个ID变量,我希望它显示在行注释中,以便我可以清楚地看到热图中哪些行与哪个行相对应。看看下面的图片。

enter image description here

我只想在树形图和热图之间的左侧显示个别ID。

到目前为止,我已经使用我的CSV文件

创建了一个矩阵

mymatrix<-as.matrix(mydata[ ,c(2:9)]

运行热图功能,同时强制它仅在行上集群

Heatmap(mymatrix,cluster_columns = FALSE)

此外,我想创建一个单独的列,显示在热图的右侧,代表个人的收入但不影响群集。深色代表收入丰厚,色彩浅的个人,收入微薄。

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:1)

假设您的“ID”编码为id,“收入”编码为revenue。两者都是载体。您可以按如下方式制作热图:

revenue_col = c("large" = "black", "weak" = "grey")
library(ComplexHeatmap)
ht_list = rowAnnotation(id = row_anno_text(id, just = "right"), 
        width = max_text_width(id)) + 
    Heatmap(mymatrix, name = "mymatrix", cluster_columns = FALSE) + 
    Heatmap(revenue, col = revenue_col, width = unit(5, "mm")
ht_list

将树形图放在最左边:

draw(ht_list, row_dend_side = "left")