首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将符号表达式作为R中函数的参数传递

将符号表达式作为R中函数的参数传递
EN

Stack Overflow用户
提问于 2021-04-19 15:01:16
回答 1查看 205关注 0票数 1

新手的问题但我哪儿都找不到答案。我需要一个输入,例如x^3-9*x

例如,我正在编写一个交互式应用程序,提示用户输入一个函数的符号表达式:

代码语言:javascript
复制
f=readline(prompt="A symbolic / mathematical function:")

然后,控制台的输入可以是:x^3-9*x

我需要让程序理解f是一个函数,而不仅仅是字符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-19 16:04:31

您可以在readline()周围创建一个包装器,它捕获字符串输入,然后创建一个函数。下面是一个使用rlang的示例。单个参数x是硬编码的,但可以使其更高级。

代码语言:javascript
复制
readline_fn_x <- function(prompt) {
  
  fn_str <- readline(prompt = prompt)
  rlang::new_function(rlang::pairlist2(x = ), rlang::parse_expr(fn_str))
  
}

这将返回一个函数。在这里,它是在f(2)上评估的

代码语言:javascript
复制
> f <- readline_fn_x(prompt="A function pls:")
A function pls:x^3-9*x
> f(2)
[1] -10
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67164463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档