首页 > 解决方案 > 从 R 中 pheatmap 中未选择的行名中删除 NA

问题描述

我有一组我想绘制的选定基因,我已重命名。但是在绘制它们时,我也得到了未选中的 NA。我怎样才能删除仅绘制我选择的基因的 NA?

library(pheatmap)
set.seed(2020)
    mat = matrix(rnorm(200),20,10)
    rownames(mat) = paste0("g",1:20)
    rownames(mat)[rownames(mat) == "g2"] <- "abc"
    rownames(mat)[rownames(mat) == "g4"] <- "pqr"
    rownames(mat)[rownames(mat) == "g6"] <- "zzz"
    selected_genes <- c("abc","pqr", "zzz")
    obj = pheatmap(mat,cluster_rows = T, scale = 'row', show_rownames = T, labels_row = selected_genes)

在此处输入图像描述

我已经看到您还可以执行以下操作:

labRow <- c(row.names(mat)[1], rep('', length(row.names(mat))-2)) # Selected row2 as example
pheatmap(mat,cluster_rows = T, scale = 'row', show_rownames = T, labels_row = labRow) 

在此处输入图像描述

标签: rrownamepheatmap

解决方案


由于您已经发现使用非打印值填充 label_row 参数,因此您似乎应该尝试过:

obj = pheatmap(mat,cluster_rows = T, scale = 'row', show_rownames = T, 
                           labels_row = c(selected_genes,rep("   ",17) ) ) 

在此处输入图像描述


推荐阅读