0

所以我正在尝试使用ComplexHeatmap 包创建一个热图,我的数据有第一列作为物种名称,例如“志贺氏菌”,接下来的 8 列以它们的样本 id 为标题表示每个物种被观察了多少次(作为一个数值) 在样本中。

要创建热图,我需要一个数字矩阵,所以我得到它 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) 

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

我希望我的物种名称显示为行名称,例如“志贺氏菌”而不是“第 1 行”,“沙门氏菌”而不是“第 2 行”等。

4

1 回答 1

0

你可以试试 -

my_matrix <- as.matrix(my_data[,c(2:9)])
rownames(my_matrix) <- my_data$species_name
Heatmap(my_matrix, show_row_names = TRUE)
于 2021-08-08T04:37:09.887 回答