programming with dplyrへのガイドを読んで、すべての変数を一度に参照することができます。...
しかし、私はそれらを個別にどのように使用できますか?dplyr quosでの個々の変数の参照
ここでは、2つの変数をカウントする関数を示します。それは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
今、私は2番目の変数、この場合はam
列をtidyr::spread
たい。私は私の機能に追加する場合:
result <- dat %>%
tidyr::spread(!!!cols[[2]], "n", fill = 0)
私が取得:
Error: Invalid column specification
はどのようcols <- quos(...)
リストのちょうど第二の変数を参照する必要がありますか?
で
spread_
を使用することですか? – MrFlicktidyr 0.6.3現在のところ、私は切り替えることができる問題に関連している場合 –