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.

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.

Value

(data.table::data.table()).

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