Transforms list columns to separate columns, possibly by reference. The original columns are removed from the returned table. All non-atomic objects in the list columns are expand to new list column.
Arguments
- x
(
data.table::data.table()
)data.table::data.table()
with columns to unnest.- cols
(
character()
)
Column names of list columns to operate on.- prefix
(
logical(1)
|character(1)
)
String to prefix the new column names with. Use"{col}"
(without the quotes) as placeholder for the original column name.
Examples
x = data.table::data.table(
id = 1:2,
value = list(list(a = 1, b = 2), list(a = 2, b = 2))
)
print(x)
#> id value
#> <int> <list>
#> 1: 1 <list[2]>
#> 2: 2 <list[2]>
unnest(data.table::copy(x), "value")
#> id a b
#> <int> <num> <num>
#> 1: 1 1 2
#> 2: 2 2 2
unnest(data.table::copy(x), "value", prefix = "{col}.")
#> id value.a value.b
#> <int> <num> <num>
#> 1: 1 1 2
#> 2: 2 2 2