eval(paste0(var, "<-", 10)) [1] "plt<-10" 但相反,它返回一个字符串。 我试过了 eval-6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 08:28:09 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com