r - 如何评估 R 中带有变量的表达式?

标签 r variables expression eval

我希望此代码设置 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

关于r - 如何评估 R 中带有变量的表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20581757/

相关文章:

r - kerasR 给出错误

Java 本地 vs 实例变量访问速度

c - C中的常量变量存储在哪里?

reporting-services - 十二个月前作为 SSRS 中的参数

r - 与微软团队的 slackr_upload 等效的 R 函数

r - 遍历数据帧以提取 R 中值超过阈值的特定对

javascript - 如何在函数外重用 Javascript 变量

objective-c - 为什么我收到 'Expression Result Unused' 警告?

c# - 遍历Expression,找到MethodCallExpression并替换为新的Expression

r - R 中的箭头键