首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在管式操作符中使用“`tidyeval`”

在管式操作符中使用“`tidyeval`”
EN

Stack Overflow用户
提问于 2021-02-22 09:12:30
回答 1查看 67关注 0票数 0

我似乎不知道如何在%$%中使用来自magrittrtidyeval操作符。下面是这个问题的一个最少可复制的例子:

tabletidyeval之外的公开操作符一起工作

代码语言:javascript
复制
library(magrittr)

print(mtcars %$% table(am))
#> am
#>  0  1 
#> 19 13

table不适用于tidyeval的公开操作符

代码语言:javascript
复制
foo <- function(data, x) {
  # works with pipe operator
  print(data %>% dplyr::pull({{ x }}))

  # doesn't with exposition operator
  data %$% table({{ x }})
}

foo(mtcars, am)
#>  [1] 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1
#> Error in table({: object 'am' not found
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-22 09:18:53

dplyr::pull对其参数使用整洁的计算方法。table (作为一个基本的R函数)不起作用,这就是为什么整洁评估适用于前者,而不是后者。这与管道操作员无关。

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

https://stackoverflow.com/questions/66312808

复制
相关文章

相似问题

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