我想创建一个函数,其中包括加载我在函数内制作的程序包。简短示例(无法运行!):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有没有办法做到这一点?
3 回答
万千封印
TA贡献1891条经验 获得超3个赞
为什么要避免parse
?substitute
在这种情况下,您如何获得相同的结果?我正在考虑一种情况,当我不知道先验地应该加载哪个库时,尽管我可能将其作为文本字符串存储。
- 3 回答
- 0 关注
- 618 浏览
添加回答
举报
0/150
提交
取消