R: Unwrap Nested Data Frames

unwrap {batchtools} | R 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(
      id = 1:3,
      values = list(list(a = 1, b = 3), list(a = 2, b = 2), list(a = 3))
    )
    unwrap(x)
    unwrap(x, sep = ".")

[Package batchtools version 0.9.11 Index]