【问题标题】:heatmap.2 rstudio row labels don't show on heatmapheatmap.2 rstudio 行标签不显示在热图上
【发布时间】:2017-09-20 00:04:36
【问题描述】:

我有一个制表符分隔的数据文本文件 (Data.txt),它有 13 列和 90 行。它有一个标题行(样本值),第一列是样本名称。

当我将数据加载到数据矩阵中时,我的第一列样本名称不显示。它们都被替换为 NA。我相信这会导致样本名称不会在热图上显示为列标签。

这是我的简单脚本:

library(gplots)
y <- data.matrix(Data)
heatmap.2(y, main=K12_Ancient_Calculator, trace="none", 
          margins = c(10,12), cexRow=0.5)

任何想法需要做什么,以便我的数据文件第一列中的样本名称显示在 y(数据矩阵)中。目前它们显示为 NA。

我注意到,在我的 Rstudio 版本中,使用“导入数据集”功能时,没有选项将数据文件的第一列声明为“标签”。

非常感谢所有反馈。

【问题讨论】:

    标签: r heatmap


    【解决方案1】:

    heatmap.2 需要一个矩阵作为输入,它只接受数值(或 NA) 我的猜测是您的样本名称是一个字符向量,它将通过 data.matrix() 转换为 NA(强制引入的 NA)

    试试这个:

    y <- data.matrix(Data)
    row.names(y) <- Data[,1] # Set rownames
    y <- y[,-1] # Remove column with NA
    

    下面的完整示例使用 heatmap.2 的 labRow 参数。 labRow 的默认值是数据矩阵的行名。在您的情况下,这些可能是空的。可以使用以下选项之一进行设置

    library(gplots)
    library(dplyr)
    
    y <- iris %>% 
      sample_frac(0.3) # Take a subset
    
    y.mat <- y %>% 
      select(-Species) %>% ## Remove identifier
      data.matrix() ## Convert to matrix
    
    heatmap.2(y.mat, main="iris", trace="none", 
              margins = c(10,12), cexRow=0.5,
              labRow = y$Species)
    
    ## Alternatively set the rownames of your data.matrix
    y.mat2 <- y.mat
    row.names(y.mat2) <- y$Species
    heatmap.2(y.mat2, main="iris", trace="none", 
              margins = c(10,12), cexRow=0.5)
    

    【讨论】:

    • 感谢您的反馈,我会尝试一下,同时下面的脚本可以解决问题:
    【解决方案2】:

    感谢您的反馈,我稍后会尝试。与此同时,以下方法也起到了作用:

    filename <- "Data.txt"
    test <- read.table(filename, sep ="\t", quote = "", 
                       stringsAsFactors = FALSE,header = TRUE, row.names = 1)
    input <- as.matrix(test)
    heatmap.2(input, trace = "none", Colv=FALSE, dendogram = 'row', 
              density = "none", col = bluered(20), 
              cexRow = 0.6, cexCol = 0.9, margins = c(8,14), scale = "row", 
              hclust =function(x) hclust(x,method = "average"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多