使用[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
等等,並將它們保存在中間變量中,因爲它有時似乎有所作爲,但卻無法讓它起作用。
好極了,感謝這麼多的快速解答! –