具有函数外部卷曲的dplyr非标准评估

问题描述 投票:0回答:1

我看到的所有卷曲示例都在编写函数的上下文内。我只想循环查看分组变量并获取频率,所以我正在尝试使类似的内容起作用:

my_var <- "model"
mpg %>% group_by({{ my_var }}) %>% summarise(n=n())

但是这不能给出预期的输出,即如果我只是使用]将会得到什么>

mpg %>% group_by(model) %>% summarise(n=n())

如何在这种简单的设置中使用非标准评估?

我看到的所有卷曲示例都在编写函数的上下文内。我只想循环遍历分组变量并获取频率,所以我正在尝试将类似的内容添加到...

r dplyr rlang non-standard-evaluation
1个回答
1
投票

Curly-Curly在函数内使用,并带有未引用的变量。]​​>

library(dplyr)
library(rlang)

my_func <- function(data, var) {
   data %>% group_by({{var}}) %>% summarise(n=n())  
}

my_func(mpg, model)

#   model                  n
#   <chr>              <int>
# 1 4runner 4wd            6
# 2 a4                     7
# 3 a4 quattro             8
# 4 a6 quattro             3
# 5 altima                 6
# 6 c1500 suburban 2wd     5
# 7 camry                  7
# 8 camry solara           7
# 9 caravan 2wd           11
#10 civic                  9
# … with 28 more rows
© www.soinside.com 2019 - 2024. All rights reserved.