Skip to contents

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.

  • rowbind efficiently combines data frames / lists row-wise. The implementation is derived from data.table::rbindlist, it is also a fast alternative to rbind.data.frame.

  • join provides fast class-agnostic and verbose table joins.

  • pivot efficiently reshapes data, supporting longer, wider and recast pivoting, as well as multi-column-pivots and taking along variable labels.

  • 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 framesFast 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 framesFast select or replace columns
add_vars(<-)No methods, for data framesFast add columns
rowbindNo methods, for lists of lists/data framesFast row-binding lists
joinNo methods, for data framesFast table joins
pivotNo methods, for data framesFast reshaping
fsubsetdefault, matrix, data.frame, pseries, pdata.frameFast subset data (non-standard evaluation)
ssNo methods, for data framesFast subset data frames
fsummariseNo methods, for data framesFast data aggregation
fmutate, (f/set)ftransform(<-)No methods, for data framesCompute, modify or delete columns (non-standard evaluation)
fcompute(v)No methods, for data framesCompute or modify columns, returned in a new data frame (non-standard evaluation)
roworder(v)No methods, for data frames incl. pdata.frameReorder rows and return data frame (standard and non-standard evaluation)
colorder(v)No methods, for data framesReorder columns and return data frame (standard and non-standard evaluation)
(f/set)rename, (set)relabelNo methods, for all objects with 'names' attributeRename and return object / relabel columns in a data frame.