library(tidyverse)それでは、まずpivot_longerから練習してみましょう。
yoko <- tibble(
city = c("札幌","東京","那覇"),
`2018-04-01` = c("晴れ", "雨", "曇り"),
`2018-04-02` = c("雨", "雨", "晴れ"),
`2018-04-03` = c("晴れ", "雨", "曇り"),
)
yoko# A tibble: 3 × 4
city `2018-04-01` `2018-04-02` `2018-04-03`
<chr> <chr> <chr> <chr>
1 札幌 晴れ 雨 晴れ
2 東京 雨 雨 雨
3 那覇 曇り 晴れ 曇り
この表はスライドの再現です。
人には見やすいですが、tidyなデータではないということはお判りでしょうか?
スライドでの解説通りにpivot_longerを利用してみると、
tate <- yoko %>%
pivot_longer(
cols = !city,
names_to = "date",
values_to = "tenki"
)
tate# A tibble: 9 × 3
city date tenki
<chr> <chr> <chr>
1 札幌 2018-04-01 晴れ
2 札幌 2018-04-02 雨
3 札幌 2018-04-03 晴れ
4 東京 2018-04-01 雨
5 東京 2018-04-02 雨
6 東京 2018-04-03 雨
7 那覇 2018-04-01 曇り
8 那覇 2018-04-02 晴れ
9 那覇 2018-04-03 曇り
見事、縦方向のデータにかわりました。この縦方向のデータ、今度はpivot_widerでもとにもどしてみると、
tate %>%
pivot_wider(
id_cols = city,
names_from = date,
values_from = tenki
)# A tibble: 3 × 4
city `2018-04-01` `2018-04-02` `2018-04-03`
<chr> <chr> <chr> <chr>
1 札幌 晴れ 雨 晴れ
2 東京 雨 雨 雨
3 那覇 曇り 晴れ 曇り
もどりましたね?