使用[R 3.2.2和dplyr 0.7.2我试图找出如何有效地使用group_by
作为与特征向量供应领域。GROUP_BY非标字符向量使用tidyeval
选择是容易我可以像经由多个串通过长度> 1这样一个字符向量此
(function(field) {
mpg %>% dplyr::select(field)
})("cyl")
多个字段这样
(function(...) {
mpg %>% dplyr::select(!!!quos(...))
})("cyl", "hwy")
和多个字段经由串选择一个字段
(function(fields) {
mpg %>% dplyr::select(fields)
})(c("cyl", "hwy"))
With group_by
我无法真正找到一种方法来处理多个字符串,因为如果我设法得到一个输出,它最终会由我提供的字符串进行分组。
我设法组由一个字符串这样
(function(field) {
mpg %>% group_by(!!field := .data[[field]]) %>% tally()
})("cyl")
这已经是相当难看。
有谁知道我必须写这样我就可以运行
(function(field) {...})("cyl", "hwy")
和
(function(field) {...})(c("cyl", "hwy"))
分别?我尝试了各种各样的组合!!
,!!!
,UQ
,enquo
,quos
,unlist
等等,并将它们保存在中间变量中,因为它有时似乎有所作为,但却无法让它起作用。
好极了,感谢这么多的快速解答! –