Description
Stack and Reshape Datasets After Splitting Concatenated Values.
Description
Online data collection tools like Google Forms often export multiple-response questions with data concatenated in cells. The concat.split (cSplit) family of functions splits such data into separate cells. The package also includes functions to stack groups of columns and to reshape wide data, even when the data are "unbalanced"---something which reshape (from base R) does not handle, and which melt and dcast from reshape2 do not easily handle.
README.md
splitstackshape
R functions to split concatenated data, stack columns of your datasets, and convert your data into different shapes.
Core Functions
cSplit: A core function that collects the functionality of several of theconcat.splitfamily of functions.concat.split: A set of functions to split strings where data have been concatenated into a single value, as is common when getting data collected with tools like Google Forms. (cSplit_lto return alist; andcSplit_eto return an "expanded" view of the input data.)Stacked: A function to create a list ofstacked sets of variables. Similar tomeltfrom "reshape2", but doesn't put everything into one very longdata.frame.Reshape: A function to allow base R'sreshapefunction to work with "unbalanced" datasets.stratified: A function to take random row samples by groups, similar tosample_nandsample_fracfrom "dplyr".
Utilities
getanID: A function for creating a secondary ID when duplicated "id" variables are present.expandRows: "Expands" the rows of a dataset.listCol_landlistCol_w: Unlists (long) or flattens (wide) a column in adata.frameor adata.tablestored as alist. Neither is vectorized.
Install
The package is on CRAN. You can install it using:
install.packages("splitstackshape")
To install the V2 beta version, use:
devtools::install_github("mrdwab/splitstackshape", ref = "v2.0")
To install the V1 development version, use:
devtools::install_github("mrdwab/splitstackshape", ref = "v1_development")
Current CRAN version: 1.4.8