为什么!字符串列表中的字符串不能按dplyr中的预期工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么!字符串列表中的字符串不能按dplyr中的预期工作相关的知识,希望对你有一定的参考价值。
我正在尝试使用! 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
答案
我们可以使用syms
library(dplyr)
a %>%
group_by(!!! rlang::syms(cols)) %>%
summarize(count=n())
或使用group_by_at
a %>%
group_by_at(cols) %>%
summarize(count=n())
以上是关于为什么!字符串列表中的字符串不能按dplyr中的预期工作的主要内容,如果未能解决你的问题,请参考以下文章