r - 用两个变量计算表达式中的一个变量

标签 r expression eval

我想用平均值=7来评估f

 mean=7
 f <-  expression(-(x-mean)^2/2)

然后得到一个新的表达式:

 -(x-7)^2/2

我怎样才能做到呢?谢谢。

最佳答案

这是一种方法。

f <- as.call(f)
eval(substitute(substitute(expr, list(mean=7)), list(expr= f)))
# -(x - 7)^2/2()

如果这种结构感觉令人费解,您不必感到孤独:即使是编写 R 手册的人也将您在这里提出的问题称为 "a puzzle" .

关于r - 用两个变量计算表达式中的一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9201269/

相关文章:

python 多个正则表达式

javascript - imacros 从提取的 html 中剪切了 txt 的一部分

javascript - 将字符串转换为 JavaScript 对象 - 有没有比使用 eval 更安全的方法?

r - 从 R 中的两个数据框创建的线图的 Plotly 子图的单个图例

数据集子集的回归

r - 如何对不具有相同结构的多个数据集的列求和?

c# - LINQ to Entities 查询中的可重用谓词表达式

linq - 如何将 IQueryable 对象创建的表达式的执行转移到 IEnumerable?

javascript - 使用 eval()...

string - R中的快速部分字符串匹配