R: Fast Data Manipulation

fast-data-manipulation {collapse} | R Documentation

## Fast Data Manipulation

### Description

collapse provides the following functions for fast manipulation of (mostly) data frames.

- `fselect` is a much faster alternative to `dplyr::select` to select columns using expressions involving column names. `get_vars` is a more versatile and programmer friendly function to efficiently select and replace columns by names, indices, logical vectors, regular expressions or using functions to identify columns.

- The functions `num_vars`, `cat_vars`, `char_vars`, `fact_vars`, `logi_vars` and `date_vars` are convenience functions to efficiently select and replace columns by data type.

- `add_vars` efficiently adds new columns at any position within a data frame (default at the end). This can be done vie replacement (i.e. `add_vars(data) <- newdata`) or returning the appended data (i.e. `add_vars(data, newdata1, newdata2, ...)`). Because of the latter, `add_vars` is also a more efficient alternative to `cbind.data.frame`.

- `fsubset` is a much faster version of `subset` to efficiently subset vectors, matrices and data frames. If the non-standard evaluation offered by `fsubset` is not needed, the function `ss` is a much faster and also more secure alternative to `[.data.frame`.

- `fsummarise` is a much faster version of `dplyr::summarise` when used together with the Fast Statistical Functions and `fgroup_by`, with whom it also supports super fast weighted aggregation.

- `fmutate` is a much faster version of `dplyr::mutate` when used together with the Fast Statistical Functions as well as fast Data Transformation Functions and `fgroup_by`.

- `ftransform` is a much faster version of `transform`, which also supports list input and nested pipelines. `settransform` does all of that by reference, i.e. it modifies the data frame in the global environment. `fcompute` is similar to `ftransform` but only returns modified and computed columns in a new data frame.

- `roworder` is a fast substitute for `dplyr::arrange`, but the syntax is inspired by `data.table::setorder`.

- `colorder` efficiently reorders columns in a data frame, see also `data.table::setcolorder`.

- `frename` is a fast substitute for `dplyr::rename`, to efficiently rename various objects. `setrename` renames objects by reference. `relabel` and `setrelabel` do the same thing for variable labels (see also `vlabels`).

### Table of Functions

Function / S3 Generic |  | Methods |  | Description
`fselect(<-)` |  | No methods, for data frames |  | Fast select or replace columns (non-standard evaluation)
`get_vars(<-)`, `num_vars(<-)`, `cat_vars(<-)`, `char_vars(<-)`, `fact_vars(<-)`, `logi_vars(<-)`, `date_vars(<-)` |  | No methods, for data frames |  | Fast select or replace columns
`add_vars(<-)` |  | No methods, for data frames |  | Fast add columns
`fsubset` |  | `default, matrix, data.frame, pseries, pdata.frame` |  | Fast subset data (non-standard evaluation)
`ss` |  | No methods, for data frames |  | Fast subset data frames
`fsummarise` |  | No methods, for data frames |  | Fast data aggregation
`fmutate`, `(f/set)ftransform(<-)` |  | No methods, for data frames |  | Compute, modify or delete columns (non-standard evaluation)
`fcompute(v)` |  | No methods, for data frames |  | Compute or modify columns, returned in a new data frame (non-standard evaluation)
`roworder(v)` |  | No methods, for data frames incl. pdata.frame |  | Reorder rows and return data frame (standard and non-standard evaluation)
`colorder(v)` |  | No methods, for data frames |  | Reorder columns and return data frame (standard and non-standard evaluation)
`(f/set)rename`, `(set)relabel` |  | No methods, for all objects with 'names' attribute |  | Rename and return object / relabel columns in a data frame.

### See Also

Collapse Overview, Quick Data Conversion, Recode and Replace Values

[Package collapse version 1.8.6 Index]