stack {utils} | R Documentation |

## Stack or Unstack Vectors from a Data Frame or List

### Description

Stacking vectors concatenates multiple vectors into a single vector
along with a factor indicating where each observation originated.
Unstacking reverses this operation.

### Usage

stack(x, ...)
## Default S3 method:
stack(x, ...)
## S3 method for class 'data.frame':
stack(x, select, ...)
unstack(x, ...)
## Default S3 method:
unstack(x, form, ...)
## S3 method for class 'data.frame':
unstack(x, form, ...)

### Arguments

`x` |
object to be stacked or unstacked |

`select` |
expression, indicating variables to select from a
data frame |

`form` |
a two-sided formula whose left side evaluates to the
vector to be unstacked and whose right side evaluates to the
indicator of the groups to create. Defaults to `formula(x)`
in `unstack.data.frame` . |

`...` |
further arguments passed to or from other methods. |

### Details

The `stack`

function is used to transform data available as
separate columns in a data frame or list into a single column that can
be used in an analysis of variance model or other linear model. The
`unstack`

function reverses this operation.

### Value

`unstack`

produces a list of columns according to the formula
`form`

. If all the columns have the same length, the resulting
list is coerced to a data frame.

`stack`

produces a data frame with two columns

`values` |
the result of concatenating the selected vectors in
`x` |

`ind` |
a factor indicating from which vector in `x` the
observation originated |

### Author(s)

Douglas Bates

### See Also

`lm`

, `reshape`

### Examples

require(stats)
formula(PlantGrowth) # check the default formula
pg <- unstack(PlantGrowth) # unstack according to this formula
pg
stack(pg) # now put it back together
stack(pg, select = -ctrl) # omitting one vector

[Package

*utils* version 2.5.0

Index]