Unnest list-columns.
unnest(
.df,
...,
keep_empty = FALSE,
.drop = TRUE,
names_sep = NULL,
names_repair = "unique"
)
A data.table
Columns to unnest If empty, unnests all list columns. tidyselect
compatible.
Return NA
for any NULL
elements of the list column
Should list columns that were not unnested be dropped
If NULL, the default, the inner column names will become the new outer column names.
If a string, the name of the outer column will be appended to the beginning of the inner column names,
with names_sep
used as a separator.
Treatment of duplicate names. See ?vctrs::vec_as_names
for options/details.
df1 <- tidytable(x = 1:3, y = 1:3)
df2 <- tidytable(x = 1:2, y = 1:2)
nested_df <-
data.table(
a = c("a", "b"),
frame_list = list(df1, df2),
vec_list = list(4:6, 7:8)
)
nested_df %>%
unnest(frame_list)
#> # A tidytable: 5 × 3
#> a x y
#> <chr> <int> <int>
#> 1 a 1 1
#> 2 a 2 2
#> 3 a 3 3
#> 4 b 1 1
#> 5 b 2 2
nested_df %>%
unnest(frame_list, names_sep = "_")
#> # A tidytable: 5 × 3
#> a frame_list_x frame_list_y
#> <chr> <int> <int>
#> 1 a 1 1
#> 2 a 2 2
#> 3 a 3 3
#> 4 b 1 1
#> 5 b 2 2
nested_df %>%
unnest(frame_list, vec_list)
#> # A tidytable: 5 × 4
#> a x y vec_list
#> <chr> <int> <int> <int>
#> 1 a 1 1 4
#> 2 a 2 2 5
#> 3 a 3 3 6
#> 4 b 1 1 7
#> 5 b 2 2 8