[`dplyr::filter()`](https://dplyr.tidyverse.org/reference/filter.html) 内で `%in%` 演算子を使用することで、複数の値に対する条件指定をショートカットできる。これにより、OR 演算子 (`|`) を繰り返し使用した条件よりもコードが読みやすくなり、記述量も大幅に削減される。 ```r # %in%演算子を使用したショートカット記法 diamonds |> filter(cut %in% c("Good", "Very Good", "Premium")) # 上記は以下と同じ結果 diamonds |> filter(cut == "Good" | cut == "Very Good" | cut == "Premium") ``` ``` # A tibble: 30,779 × 10 carat cut color clarity depth table price x y z <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl> 1 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31 2 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31 3 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63 4 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75 5 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48 6 0.24 Very Good I VVS1 62.3 57 336 3.95 3.98 2.47 7 0.26 Very Good H SI1 61.9 55 337 4.07 4.11 2.53 8 0.23 Very Good H VS1 59.4 61 338 4 4.05 2.39 9 0.3 Good J SI1 64 55 339 4.25 4.28 2.73 10 0.22 Premium F SI1 60.4 61 342 3.88 3.84 2.33 # ℹ 30,769 more rows # ℹ Use `print(n = ...)` to see more rows ``` ## 関連ノート - **[前提]** [[dplyr の filter() で論理演算子を使用する]]: 本ノートの `%in%` ショートカットは、この OR (`|`) 連結の冗長さを解消する書き換え - **[対比]** [[dplyr の filter() で閉区間の範囲指定をショートカットする]]: 本ノートの `%in%` (OR 連結のショートカット) と対になる姉妹記事