[[dplyr]] の `mutate()` と [[lubridate]] の `make_date()` を組み合わせることで、年・月・日の個々の数値要素から日付オブジェクトを効率的に作成できる。
この手法は、[[Base R]] の `ISOdate()` の高速な代替手段として設計されており、データフレーム内の複数の列から日付を組み立てる際に特に有用である。
```r
flights |>
mutate(
flight_date = make_date(year, month, day),
.keep = "used"
)
```
```
# A tibble: 336,776 × 4
year month day flight_date
<int> <int> <int> <date>
1 2013 1 1 2013-01-01
2 2013 1 1 2013-01-01
3 2013 1 1 2013-01-01
4 2013 1 1 2013-01-01
5 2013 1 1 2013-01-01
6 2013 1 1 2013-01-01
7 2013 1 1 2013-01-01
8 2013 1 1 2013-01-01
9 2013 1 1 2013-01-01
10 2013 1 1 2013-01-01
# ℹ 336,766 more rows
# ℹ Use `print(n = ...)` to see more rows
```
## 関連ノート
- **[対比]** [[dplyr の mutate() と lubridate の make_datetime() で日時列を作成する]]: 本ノートの日付版と対になる姉妹関数
- **[派生]** [[dplyr の mutate() で関与または作成された列のみを保持する]]: 日付作成に使った年月日列だけを残すときに併用する