【问题标题】:Heatmap error with : 'x' must be a numeric matrix热图错误:“x”必须是数字矩阵
【发布时间】:2019-01-08 03:23:34
【问题描述】:

我知道这个问题可能是重复的,但我尝试了一些在这个论坛上发布的解决方案但没有成功,这就是我在这里发布它的原因。

让我们从我的数据集开始,使其可重现。

dataset <- structure(list(Comparison = c("SH vs SAP", "SH vs NEA", "SH vs ERE", 
"SH vs ERH", "SH vs NAL", "SAP vs NEA", "SAP vs ERE", "SAP vs ERH", 
"SAP vs NAL", "NEA vs ERE", "NEA vs ERH", "NEA vs NAL", "ERE vs ERH", 
"ERE vs NAL", "ERH vs NAL"), DC1 = c(NA, NA, NA, NA, NA, 1, 1, 
1, NA, 1, 1, NA, 1, NA, NA), DC2 = c(NA, NA, NA, NA, NA, 1, 1, 
1, NA, 0, 0, NA, 1, NA, NA), DC3 = c(1, 1, 1, 1, 1, 1, 1, 1, 
0, 1, 0, 0, 1, 0, 1), DC4 = c(1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
0, 1, 1, 1), DC5 = c(0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
1), DC6 = c(0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1), DC7 = c(0, 
1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1), DC8 = c(0, 1, 0, 1, 
1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1), DC9 = c(0, 0, 0, 0, 1, 0, 0, 
0, 0, 0, 1, 1, 0, 0, 0), DC10 = c(1, 1, 0, 1, 1, 0, 0, 0, 0, 
0, 1, 0, 1, 0, 0)), .Names = c("Comparison", "DC1", "DC2", "DC3", 
"DC4", "DC5", "DC6", "DC7", "DC8", "DC9", "DC10"), class = "data.frame", row.names = c(NA, 
15L))

我已尝试将数据集更改为矩阵,正如其他帖子中所建议的那样。但是,它总是给出同样的错误

heatmap(dataset)
heatmap(as.matrix(dataset))

Error in heatmap(dataset) : 
  'x' must be a numeric matrix

Error in heatmap(as.matrix(dataset)) : 
  'x' must be a numeric matrix

我试图将列转换为数字,但错误仍然存​​在。当我删除包含 NA 值的 DC1DC2 列时也是如此。

对发现问题有帮助吗?

【问题讨论】:

    标签: r matrix heatmap


    【解决方案1】:

    dataset[, 1] 是字符,所以as.matrix(dataset) 是一个字符 矩阵。这说明:

    'x' 必须是一个数字矩阵

    你可能想要

    heatmap(as.matrix(dataset[, -1]))
    

    我怎样才能在右边包含行的名称?

    Comparison变量设置为矩阵的rownames

    m <- as.matrix(dataset[, -1])
    rownames(m) <- dataset$Comparison
    heatmap(m)
    

    所以你真正的问题是Convert the values in a column into row names in an existing data frame in R,尽管问题是用heatmap 提出的。

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 2014-07-27
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多