r - 替换值,然后输出表达式
问题描述
我有一个方程式a+bx
。我想要一个函数,当我输入a = 2
and时b = 4
,R 会自动输出2+4x
为表达式。我不知道如何在程序 R 中执行此操作。
解决方案
这可能会非常棘手,并且在一定程度上取决于您的方程式是如何存储的。
如果您不需要将等式(表达式)存储在符号中,这还不错:
f <- function(a,b) { bquote(.(a)+.(b)*x) }
f(2,4)
## 2 + 4 * x
如果你有ee <- expression(a+b*x)
,那么你可以使用这个答案去
L <- list(a=2,b=4)
do.call(substitute, list(ee[[1]], L))
## or substituteDirect(ee[[1]], L)
## 2 + 4 * x
(我不是 100% 确定你为什么必须使用[[1]]
来提取表达式的“主体”,但你确实这样做了。)
如果你想用并列表示的乘法(即解释a+bx
为a+b*x
)来做到这一点,那将更加困难......
推荐阅读
- java - 如何在其他实体中两次映射同一列
- ruby - 尝试设置一个 Ruby 邮件程序,我收到:ActionView::MissingTemplate
- java - Java spring 排序和过滤
- python - 有没有办法重命名重复标题并选择正确的python列?
- ios - 如何将 CGRect 转换为 CGPoint iOS Swift
- java - 如何修复“变量可能尚未初始化”
- sql-server-2012 - Sql server 2012 连接查询问题。我想加入两个表,我想得到第一个表的完整数据和第二个表的完整数据
- python-3.x - 如何使用python从sharepoint文件夹/链接中获取文件?
- php - UNION ALL 影响从数据库回显的日期时间变量
- c# - 如何在 Web 服务中验证 Azure AD Web 表单令牌