2017-01-19 40 views
0

我在用ComplexHeatmap包创建多个热图时遇到了困难。当我运行一个包含代码的文档(https://bioconductor.org/packages/release/bioc/vignettes/ComplexHeatmap/inst/doc/s3.a_list_of_heatmaps.html)正好解除了脚本...使用ComplexHeatmap包创建多个热图时出错

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 

我运行v 3.3.2版本(2016-10-31) - 使用ComplexHeatmap版本1.12.0的Mac OS X 10.12.2上的“Sincere Pumpkin Patch”。感谢您的任何帮助!

+0

当我运行'source(“https://bioconductor.org/biocLite.R”); biocLite(“ComplexHeatmap”)'几分钟前,版本1.10.2被安装(R 3.3.2,Windows)。我无法重现你的问题。可能'ComplexHeatmap'版本1.12.0不稳定。 – cuttlefish44

+0

这也发生在我身上。有没有办法安装以前的版本?我咨询了文档,但没有看到任何明显的方式来做到这一点...... – brt381

+0

'remove.packages(“ComplexHeatmap”)'。并运行'source(“https://bioconductor.org/biocLite.R”); biocLite(“ComplexHeatmap”)'或下载zip.file并使用它进行安装。 – cuttlefish44

回答

0

我想通了。问题在于需要附加“方法”包。如果你直接在R中运行上面的代码(我没有这样做),它就像原来的那样工作(因为R默认加载了方法包),但是如果你在脚本中有脚本并且通过Rscript运行它就是我所做的),你会得到指示的错误。但是,如果将

library(methods) 

添加到脚本的顶部,它通过Rscript工作。