Learn R Programming

splitstackshape (version 1.4.0)

Stacked: Stack Columns from a Wide Form to a Long Form

Usage

Stacked(data, id.vars = NULL, var.stubs, sep, keep.all = TRUE,
  keyed = TRUE, keep.rownames = FALSE, ...)

Arguments

data
The source data.frame.
id.vars
The variables that serve as unique identifiers. Defaults to NULL, at which point, all names which are not identified as variable groups are used as the identifiers.
var.stubs
The prefixes of the variable groups.
sep
The character that separates the "variable name" from the "times" in the wide data.frame. Alternatively, can be set to "var.stubs" (in quotes) if you do not have a value for sep.
keep.all
Logical. Should all the variables from the source data.frame be kept (keep.all = TRUE) or should the resulting data.table comprise only columns for the
keyed
Logical. Should the Stacked function automatically set the key for the resulting data.tables. If TRUE (default) the key is set to the id.vars and the "time" variables that are c
keep.rownames
Logical. Should rownames be kept when converting the input to a data.table? Defaults to FALSE.
...
Other arguments to be passed on when sep = "var.stubs" (specifically, atStart: A logical argument to indicate whether the stubs come at the start or at the end of the variable names).

Value

  • A list of data.tables with one data.table for each "var.stub". The key is set to the id.vars and .time_#} vars. A function to conveniently stack groups of wide columns into a long form which can then be merged together. This is the function internally called by merged.stack. set.seed(1) mydf <- data.frame(id_1 = 1:6, id_2 = c("A", "B"), varA.1 = sample(letters, 6), varA.2 = sample(letters, 6), varA.3 = sample(letters, 6), varB.2 = sample(10, 6), varB.3 = sample(10, 6), varC.3 = rnorm(6)) mydf Stacked(data = mydf, var.stubs = c("varA", "varB", "varC"), sep = ".")

    rm(mydf)

    [object Object],[object Object] stack, melt from "reshape2".