首先我定义
args <- c("x=5", "y=10")
以下内容在R中具有预期的行为(在全局环境中创建变量x和y)
for (i in 1:length(args)) {
eval(parse(text=args[[i]]))
}
但是,以下内容仅返回未命名列表。
lapply(args, function(a) eval(parse(text = a)))
可以使用apply
函数创建变量而不是循环吗?
答案 0 :(得分:2)
我们创建一个名为list
,然后使用list2env
list2env(setNames(lapply(args, function(a) eval(parse(text = a))),
sub("\\=.*", "", args)), envir = .GlobalEnv)
x
#[1] 5
y
#[1] 10