Skip to contents

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.

Usage

unnest(x, cols, prefix = NULL)

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
#> 1:  1 <list[2]>
#> 2:  2 <list[2]>
unnest(data.table::copy(x), "value")
#>    id a b
#> 1:  1 1 2
#> 2:  2 2 2
unnest(data.table::copy(x), "value", prefix = "{col}.")
#>    id value.a value.b
#> 1:  1       1       2
#> 2:  2       2       2