【问题标题】:Heatmap using R使用 R 的热图
【发布时间】:2012-06-27 18:32:34
【问题描述】:

我正在尝试通过从 csv 文件中读取数据来绘制矩阵的热图。 以下是代码的外观:

lda <- read.csv('topic_word_matrix.data',sep=",")
row.names(lda) <- lda$topics
lda <- lda[,2:ncol(lda)]
lda_matrix <- data.matrix(lda)
lda_heatmap <- heatmap(lda_matrix, Rowv=NA, Colv=NA,col = cm.colors(256), scale="column", margins=c(5,10))

我的输入文件如下所示:

topics,jockin,limited,raining,magnetic,reallamarodom
topic9,0.0,0.0,0.00671140939597,0.0022271714922,0.00234192037471
topic2,0.1,0.0,0.02671140939597,0.0022271714922,0.00234192037471

我得到一个没有任何颜色的绘图和以下警告消息:

Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf

有人知道可能出了什么问题吗?

【问题讨论】:

  • 我使用您提供的数据运行了您的代码。这会产生带有颜色和零警告的绘图。我建议您的输入数据有问题。
  • 我知道代码工作正常,但我不知道我应该在输入数据中检查什么以停止此警告消息并获得带有颜色的绘图。你知道是什么导致了这个问题吗?它是一个包含 3000 多个条目的巨大文件。我到底应该检查什么?
  • 更具体地说,这里是引发此警告的实际文件link
  • 检查 exmpla str(lda),检查 NA,...
  • 听起来您的某些值丢失了 - 检查输入文件中的空字段(即 ,,)。

标签: r heatmap


【解决方案1】:

参数 'scale = "columns"' 的错误结果。

您的列的标准差为 0,因此缩放 (mean / sd) 失败。 所以要么使用 scale = "row" 要么 scale = "none" 或者想想你为什么要在列上缩放。

HTH

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多