为什么!字符串列表中的字符串不能按dplyr中的预期工作

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

我正在尝试使用! tidyr的运算符。

以下代码不起作用:

library(tidyr)
library(dplyr)

a = data.frame(x=c(1,1,2,3),y=c(11,11,22,33),z=c(111,111,111,222))

cols = c('x','z')
a %>% group_by(!!!cols) %>% summarize(count=n())

我希望输出与以下内容相同:

a %>% group_by(x,z) %>% summarize(count=n())
# # A tibble: 3 x 3
# # Groups:   x [3]
#       x     z count
#   <dbl> <dbl> <int>
# 1     1   111     2
# 2     2   111     1
# 3     3   222     1
r dplyr tidyr
1个回答
0
投票

我们可以使用syms

library(dplyr)
a %>% 
  group_by(!!! rlang::syms(cols)) %>%
  summarize(count=n())

或使用group_by_at

a %>%
  group_by_at(cols) %>%
  summarize(count=n())
© www.soinside.com 2019 - 2024. All rights reserved.