我希望这段代码设置plt
为10:
> var = "plt" > eval(paste0(var, "<-", 10)) [1] "plt<-10"
但相反,它返回一个字符串.
我试过eval(as.expression(paste0(var, "<-", 10)))
和其他选项,但它仍然没有给出预期的结果.
代码有什么问题?
如果我理解你的评论,没有理由潜入鲨鱼出没的水域eval(parse())
.尝试这样的事情:
myfun <- function(x, fun) { if (is.character(fun)) fun <- match.fun(fun) fun(x) } myfun(1:5, mean) #[1] 3 myfun(1:5, "mean") #[1] 3