unwrap: Unwrap Nested Data Frames

Description Usage Arguments Value Note Examples

View source: R/unwrap.R

Description

Some functions (e.g., getJobPars, getJobResources or reduceResultsDataTable return a data.table with columns of type list. These columns can be unnested/unwrapped with this function. The contents of these columns will be transformed to a data.table and cbind-ed to the input data.frame x, replacing the original nested column.

Usage

1
2
3
unwrap(x, cols = NULL, sep = NULL)

flatten(x, cols = NULL, sep = NULL)

Arguments

x

[data.frame | data.table]
Data frame to flatten.

cols

[character]
Columns to consider for this operation. If set to NULL (default), will operate on all columns of type “list”.

sep

[character(1)]
If NULL (default), the column names of the additional columns will re-use the names of the nested list/data.frame. This may lead to name clashes. If you provide sep, the variable column name will be constructed as “[column name of x][sep][inner name]”.

Value

[data.table].

Note

There is a name clash with function flatten in package purrr. The function flatten is discouraged to use for this reason in favor of unwrap.

Examples

1
2
3
4
5
6
x = data.table::data.table(
  id = 1:3,
  values = list(list(a = 1, b = 3), list(a = 2, b = 2), list(a = 3))
)
unwrap(x)
unwrap(x, sep = ".")

Example output

Loading required package: data.table
   id a  b
1:  1 1  3
2:  2 2  2
3:  3 3 NA
   id values.a values.b
1:  1        1        3
2:  2        2        2
3:  3        3       NA

batchtools documentation built on Jan. 14, 2021, 5:20 a.m.