閱讀指南programming with dplyr,我能夠一次參考所有的...
變量。但我怎樣才能單獨使用它們?參考...中的單個變量與dplyr quos
這是一個計算兩個變量的函數。它成功使用quos()
和!!!
:
library(dplyr) # version 0.6 or higher
library(tidyr)
# counts two variables
my_fun <- function(dat, ...){
cols <- quos(...)
dat <- dat %>%
count(!!!cols)
dat
}
my_fun(mtcars, cyl, am)
#> # A tibble: 6 x 3
#> cyl am n
#> <dbl> <dbl> <int>
#> 1 4 0 3
#> 2 4 1 8
#> 3 6 0 4
#> 4 6 1 3
#> 5 8 0 12
#> 6 8 1 2
現在我想tidyr::spread
第二個變量,在這種情況下,am
列。當我添加到我的功能:
result <- dat %>%
tidyr::spread(!!!cols[[2]], "n", fill = 0)
我得到:
Error: Invalid column specification
我應該如何參考只是cols <- quos(...)
名單的第二個變量?
您正在使用什麼版本tidyr的? – MrFlick
tidyr 0.6.3目前,但如果它與問題相關,我可以切換 –