我在使用ComplexHeatmap包创建多个热图时遇到了困难。当我运行一个脚本,其中包含的代码完全取自文档(https://bioconductor.org/packages/release/bioc/vignettes/ComplexHeatmap/inst/doc/s3.a_list_of_heatmaps.html)...
library(ComplexHeatmap)
mat1 = matrix(rnorm(80, 2), 8, 10)
mat1 = rbind(mat1, matrix(rnorm(40, -2), 4, 10))
rownames(mat1) = paste0("R", 1:12)
colnames(mat1) = paste0("C", 1:10)
mat2 = matrix(rnorm(60, 2), 6, 10)
mat2 = rbind(mat2, matrix(rnorm(60, -2), 6, 10))
rownames(mat2) = paste0("R", 1:12)
colnames(mat2) = paste0("C", 1:10)
ht1 = Heatmap(mat1, name = "ht1")
ht2 = Heatmap(mat2, name = "ht2")
class(ht1)
class(ht2)
ht1 + ht2..。我得到了错误消息:
Error in ht1 + ht2 : non-numeric argument to binary operator
Execution halted我在MacOSX10.12.2和ComplexHeatmap版本1.12.0上运行R版本3.3.2 (2016-10-31) --“真诚的南瓜补丁”。谢谢你的帮助!
发布于 2017-01-21 02:47:29
我想通了。问题是“方法”包需要附加。如果你直接在R中运行上面的代码(我没有这样做),它会按原样工作(因为R显然默认加载了方法包),但是如果你在一个文件中有脚本并通过Rscript运行它(这就是我正在做的),你会得到指定的错误。但是,如果您添加
library(methods)在脚本的顶部,它通过Rscript工作。
https://stackoverflow.com/questions/41732375
复制相似问题