2
に代わり、列の変数を参照する方法:フィルターを、私は頻繁に実行可能な選択肢を保持するローカル変数を計算しますdplyr使用する場合dplyr
df$ids <- "a"
filter(df, id %in% ids)
# giving id %in% "a"
がどのように私は明示的にIDS列の代わりにIDS変数を参照する必要があります。同じ名前、これは意図した目的を達成するために失敗しましたか?
に代わり、列の変数を参照する方法:フィルターを、私は頻繁に実行可能な選択肢を保持するローカル変数を計算しますdplyr使用する場合dplyr
df$ids <- "a"
filter(df, id %in% ids)
# giving id %in% "a"
がどのように私は明示的にIDS列の代わりにIDS変数を参照する必要があります。同じ名前、これは意図した目的を達成するために失敗しましたか?
!!
とUNQUOTEではなく、データフレームの呼び出し環境の中で見てfilter
を伝えるために:もちろん
library(tidyverse)
df <- data_frame(id = rep(c("a","b"), 3), val = 1:6)
ids <- c("b", "c")
df %>% filter(id %in% ids)
#> # A tibble: 3 x 2
#> id val
#> <chr> <int>
#> 1 b 2
#> 2 b 4
#> 3 b 6
df <- df %>% mutate(ids = "a")
df %>% filter(id %in% ids)
#> # A tibble: 3 x 3
#> id val ids
#> <chr> <int> <chr>
#> 1 a 1 a
#> 2 a 3 a
#> 3 a 5 a
df %>% filter(id %in% !!ids)
#> # A tibble: 3 x 3
#> id val ids
#> <chr> <int> <chr>
#> 1 b 2 a
#> 2 b 4 a
#> 3 b 6 a
を、そのような問題を回避するためのより良い方法は、中に同じ名前のベクトルを入れないことですあなたの地球環境。
dplyrを更新した後は私のために働いただけです。私は[dplyr vignette](https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html)で新機能の説明を見つけました。 –