我想创建一个函数,其中包括加载我在函数内制作的程序包。简短示例(无法运行!):
loadMe <- function(name){ genLib(xxx, libName = name) #make a new library with name "name" library(name) #load the new library...}
这行不通!一段可重复的代码说明了我的主要问题:
library(ggplot) #this works fineload.this <- "ggplot"library(load.this) #I want this to load ggplot!
我知道问题在于,library()
并require()
以一个尚不存在的对象名称作为参数。我已经试过包装我的字符串,parse()
,deparse()
,substitute()
,expression()
,quote()
,等等等等,这些都返回了同样的问题:
library(load.this)# Error in library(loadss) : there is no package called 'loadss'library(deparse(load.this))# Error in library(deparse(loadss)) : 'package' must be of length 1
有没有办法做到这一点?
万千封印