unwrap: Unwrap Nested Data Frames

View source: R/unwrap.R

unwrapR Documentation

Unwrap Nested Data Frames

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

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

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 = ".")

batchtools documentation built on April 20, 2023, 5:09 p.m.