Learn R Programming

arrayhelpers (version 1.1-0)

array2df: 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?

Value

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

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.

See Also

stack

Examples

Run this code
# NOT RUN {
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))

# }

Run the code above in your browser using DataLab