Reshape a Vector From Long to Wide Shape Or Vice Versa
Simple reshaping a vector from long to wide or from wide to long shape by means of a single factor.
ToLong(x, varnames = NULL) ToWide(x, g, by = NULL, varnames = NULL)
x |
the vector to be reshaped |
g |
the grouping vector to be used for the new columns. The resulting |
by |
a vector to be used to merge the pieces of |
varnames |
the variable names if not the grouping levels should be used. |
ToLong
expects x as a matrix or a data.frame and reshapes it to a (long) factor representation.
ToWide
expects the vectors x, g, by, wheras x being the variable, g the splitting factor and by a vector for rowwise merging.
the reshaped object
Andri Signorell <andri@signorell.net>
d.x <- read.table(header=TRUE, text=" AA BB CC DD EE FF GG 7.9 18.1 13.3 6.2 9.3 8.3 10.6 9.8 14.0 13.6 7.9 2.9 9.1 13.0 6.4 17.4 16.0 10.9 8.6 11.7 17.5 ") ToLong(d.x) # ToWide by row numbers (by = NULL) ToWide(PlantGrowth$weight, PlantGrowth$group) # To wide aligned by key set.seed(41) PlantGrowth$nr <- c(sample(12, 10), sample(12, 10), sample(12, 10)) head(PlantGrowth) ToWide(PlantGrowth$weight, PlantGrowth$group, by=PlantGrowth$nr)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.