[[dplyr]] の `mutate()` では、`.keep` パラメータに `"used"` を指定することで、新しい列の作成に関与した列と作成された列のみを保持できる。これにより、計算に使用した元の列と結果の列だけに絞り込んで表示できるため、複雑な計算結果の確認や中間結果の検証に非常に有用である。
```r
flights |>
mutate(
gain = dep_delay - arr_delay,
speed = distance / air_time * 60,
.keep = "used"
)
```
```
# A tibble: 336,776 × 6
dep_delay arr_delay air_time distance gain speed
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2 11 227 1400 -9 370.
2 4 20 227 1416 -16 374.
3 2 33 160 1089 -31 408.
4 -1 -18 183 1576 17 517.
5 -6 -25 116 762 19 394.
6 -4 12 150 719 -16 288.
7 -5 19 158 1065 -24 404.
8 -3 -14 53 229 11 259.
9 -3 -8 140 944 5 405.
10 -2 8 138 733 -10 319.
# ℹ 336,766 more rows
# ℹ Use `print(n = ...)` to see more rows
```
## 関連ノート
- **[派生]** [[dplyr の mutate() で任意の位置に新しい列を作成する]]: 本ノートの `.keep` と並ぶ、`mutate()` 出力を整えるパラメータ群
- **[派生]** [[dplyr の mutate() で作成した列は、同一の mutate() 内で即座に利用できる]]: `.keep` と併用すると連鎖的な計算と列絞り込みを同時に書ける