R: array2df

array2df {arrayhelpers} | R Documentation

## array2df

### Description

array2df: Convert multidimensional array into matrix or data.frame The "wide-format" array is converted into a "long-format" `matrix` or `data.frame`.

### Usage

    array2df(x, levels, matrix = FALSE, label.x = deparse(substitute(x)),
      na.rm = FALSE)

### Arguments

`x` | `array`
`levels` | `list` with the levels for the dimensions of `x`. If `levels[[i]]` is `NULL` no column is produced for this factor. If `levels[[i]]` is `NA`, the result column is a numeric with range from `1` to `dim (x)[i]` If `levels[[i]]` is `TRUE`, the levels are taken from the dimnames. `names(levels)` yield the resulting column names.
`matrix` | If `TRUE`, a numeric `matrix` rather than a `data.frame` is returned.
`label.x` | Name for the column containing the `x` values.
`na.rm` | should rows where the value of `x` is `NA` be removed?

### Details

If the resulting `data.frame` is too large to fit in memory, a `matrix` might help.

The main benefit of this function is that it uses matrices as long as possible. This can give large advantages in terms of memory consumption.

### Value

A data.frame or matrix with `prod (dim (x))` rows and `length (dim (x)) + 1` columns.

### Author(s)

Claudia Beleites

### See Also

`stack`

### Examples

    a <- arrayhelpers:::a
    a
    array2df (a)
    array2df (a, matrix = TRUE)

    array2df (a, levels = list(NULL, x = NA, c = NULL), label.x = "value")

    array2df (a, levels = list(NULL, x = TRUE, c = c ("foo", "bar")), label.x = "value")

    summary (array2df (a,
                       levels = list(NULL, x = NA, c = c ("foo", "bar")),
                       label.x = "value"))

    summary (array2df (a,
                       levels = list(NULL, x = NA, c = c ("foo", "bar")),
                       label.x = "value",
                       matrix = TRUE))

[Package arrayhelpers version 1.0-20160527 Index]