首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从函数体中删除双引号

从函数体中删除双引号
EN

Stack Overflow用户
提问于 2015-12-10 23:35:05
回答 1查看 126关注 0票数 1

我在x中有一个函数,y <- function(x){x^2+9*x}

我希望返回为字符串x^2+9*x,没有前导/尾随空格,如图所示。

我尝试了以下几点:

代码语言:javascript
运行
复制
library(stringr)
library(magrittr)
g   <- function(x){x^2+9*x}
y1 <- g %>%
    deparse_function_body(.) %>%
    str_replace(pattern = "[[:punct:]]", "") %>% 
    noquote(.) %>%
    str_trim(.)
y1

这将返回不需要的[1] "" "x^2" "",即[1] "x^2+9*x"

请给我看看实现这一目标的最干净的方法好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-10 23:38:10

您可以将body()deparse()结合使用。不需要包裹。

代码语言:javascript
运行
复制
deparse(body(g)[[2]])
# [1] "x^2 + 9 * x"

你好像想做这样的事-

代码语言:javascript
运行
复制
trimws(deparse(g)[3])
# [1] "x^2 + 9 * x"

我想这两种都能正常工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34213731

复制
相关文章

相似问题

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