【问题标题】:How do I assign row names to numeric matrix so they can be displayed on a heatmap?如何将行名称分配给数字矩阵,以便它们可以显示在热图上?
【发布时间】:2021-08-08 03:40:40
【问题描述】:

所以我正在尝试使用ComplexHeatmap package 创建一个热图,并且我的数据将第一列作为物种名称,例如“志贺氏菌”和以样本 id 为标题的接下来 8 列表示每个物种在样本中被观察到的次数(以数值形式)。

要创建热图,我需要一个数字矩阵,所以我得到它 my_matrix <- as.matrix(my_data[,c(2:9)]),获取除第一个包含字符值的列之外的所有列,然后我将物种名称存储为单独的数据框 species_name <- as.data.frame(my_data$species_name) 然后我要做的是使用rownames 函数将物种名称分配回它们相应的行以显示在热图中,但显然这不起作用。简单示例如下所示:

Heatmap(my_matrix, rownames(species_name), show_row_names = TRUE) 

我没有收到任何警告或错误,热图出现在绘图部分中,但仍然没有像下图那样分配行名,最后我的问题是如何正确分配它们?

我希望我的物种名称显示为行名称,例如"Shigella" instead of "row 1", "Salmonella" instead of "row 2", etc.

【问题讨论】:

  • 尝试使用Heatmap(my_matrix, row_labels=rownames(species_name))

标签: r heatmap rowname complexheatmap


【解决方案1】:

你可以试试-

my_matrix <- as.matrix(my_data[,c(2:9)])
rownames(my_matrix) <- my_data$species_name
Heatmap(my_matrix, show_row_names = TRUE)

【讨论】:

    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2020-08-24
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多