传递一个向量grid.arrange作为参数列表。(Passing a vector to grid

2019-10-29 14:58发布

所以我试图用一个向量来概括这个命令,这对我的数据运行良好

grid.arrange(Sig1.plot,Sig2.plot,Sig3.plot,Sig4.plot).

该载体

> Plots.restricted
[1] "Sig1.plot,Sig2.plot,Sig3.plot,Sig4.plot"

> class(Plots.restricted)
[1] "character"

但是,这样做

grid.arrange(as.name(Plots.restricted),ncol=1) 

返回以下错误

Error in arrangeGrob(..., as.table = as.table, clip = clip, main = main,  : 
input must be grobs!

另外,我试过

Plots.reference<-   paste(c(rep("Sig",ncol(Signatures)-1)),c(2:ncol(Signatures)-1),c(rep(".plot",ncol(Signatures)-1)),sep="",collapse=",")

其中Plots.reference现在生产长度为1的字符向量。

grid.arrange(as.name(Plots.reference)) and grid.arrange(as.symbol(Plots.reference))

虽继续返回错误。

我究竟做错了什么?

Answer 1:

你可以试试这个:

 do.call(grid.arrange, lapply(Plots.restricted, as.name))

或可替换地:

 do.call(grid.arrange, lapply(Plots.restricted, get))


文章来源: Passing a vector to grid.arrange as a list of arguments.