使用 ComplexHeatmap 包创建多个热图时出错
Error creating multiple heatmaps with ComplexHeatmap package
我在使用 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
我是 运行ning R 版本 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch" on Mac OS X 10.12.2 with ComplexHeatmap version 1.12.0。感谢您的帮助!
我明白了。问题是需要附加 "methods" 包。如果你直接在 R 中 运行 上面的代码(我没有这样做),它会工作 as-is (因为 R 显然默认加载方法包),但是如果你在文件中有脚本并且运行 通过 Rscript(这是我正在做的),您会收到指示的错误。但是,如果您添加
library(methods)
到脚本的顶部,它通过 Rscript 工作。
我在使用 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
我是 运行ning R 版本 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch" on Mac OS X 10.12.2 with ComplexHeatmap version 1.12.0。感谢您的帮助!
我明白了。问题是需要附加 "methods" 包。如果你直接在 R 中 运行 上面的代码(我没有这样做),它会工作 as-is (因为 R 显然默认加载方法包),但是如果你在文件中有脚本并且运行 通过 Rscript(这是我正在做的),您会收到指示的错误。但是,如果您添加
library(methods)
到脚本的顶部,它通过 Rscript 工作。