pak::pak("cran/tidyr@1.3.0")
unnest_wider() and unnest_longer() improvements
tidyr 1.3.0
tidyr
unnest_longer() and unnest_wider() have received some quality of life and consistency improvements.
Install tidyr 1.3.0 with:
unnest_wider() and unnest_longer() improvements
unnest_longer() and unnest_wider() have received some quality of life and consistency improvements.
unnest_wider() now gives a better error when unnesting an unnamed vector:
# A tibble: 2 × 2
id x
<int> <list>
1 1 <chr [2]>
2 2 <chr [3]>
df |>
unnest_wider(x)Error in `unnest_wider()`:
ℹ In column: `x`.
ℹ In row: 1.
Caused by error:
! Can't unnest elements with missing names.
ℹ Supply `names_sep` to generate automatic names.
df |>
unnest_wider(x, names_sep = "_")# A tibble: 2 × 4
id x_1 x_2 x_3
<int> <chr> <chr> <chr>
1 1 a b <NA>
2 2 d e f
unnest_longer() has gained a keep_empty argument like unnest(), and it now treats NULL and empty vectors the same way:
# A tibble: 3 × 2
id x
<int> <list>
1 1 <NULL>
2 2 <int [0]>
3 3 <int [3]>
df |> unnest_longer(x)# A tibble: 3 × 2
id x
<int> <int>
1 3 1
2 3 2
3 3 3
df |> unnest_longer(x, keep_empty = TRUE)# A tibble: 5 × 2
id x
<int> <int>
1 1 NA
2 2 NA
3 3 1
4 3 2
5 3 3