在 R-统计中,假设我有
a <- 5
b <- 3
现在我想用下面的表达式函数写一个数学方程
exp <- expression(a * e ^ (b * x))
但我想要方程中 a 和 b 的值而不是字母,
即我希望它显示 5 e^3x。
我怎么做?
原因是我事先不知道 a 和 b 的值,而这些值来自拟合指数曲线,所以我不能使用
expression(5 * e ^ (3 * x)).
最佳答案
尝试这个:
subst <- function(e, ...) do.call(substitute, list(e[[1]], list(...)))
exp <- expression(a * e^(b * x))
subst(exp, a = 1, b = 5)
## 1 * e^(5 * x)
请注意,虽然看起来越简单
substitute(expression(a * e^(b * x)), list(a = 1, b = 5))
有效,您不能简单地替换
expression(a * e^(b * x))
带有一个变量,因此它仅在您的应用程序允许您对表达式进行硬编码时才有效。
关于r - 如何使用来自变量的常量在 R 中编写数学方程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25080535/