r - 如何使用来自变量的常量在 R 中编写数学方程?

标签 r

在 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/

相关文章:

r - 在 R 中搜索数据框中的两列

r - 通过 R 从 BigQuery 查询数据时,有没有办法将大整数转换为字符串?

r - 如何确保分区具有来自因子每个级别的代表性观察?

r - 将整数与 R 中的字符进行比较

r - 使用基于子组的线性回归进行分析

python - rpy2 与 Python 3 中向量和标量的逐元素比较失败

r - 使用循环或应用覆盖多个字符串变量

R: 'Multiply' 数据帧字符串列

r - 绘制 R 数据框中所有列的分布

r - pivot_wider 在从长格式 reshape 为宽格式时引入 NA 值