quilt - A patchwork of efficient and tidy multidimensional data operations
Colby T. Ford, Ph.D.
Installation
You can install the latest stable version from GitHub using the following command:
library(devtools)
install_github("colbyford/quilt")
library(quilt)
To Do List
- n-dimensional Matrix Pattern Search
- Multidimensional Run Length Encoding
- 2-dimensional RLE
rle_2()
- n-dimensional RLE
rle_n(., n)
- 2-dimensional RLE
- Class-specific Transpose
transpose()
- Enhanced Dataset Operations
- not in
%notin%
- shuffle order of a vector
shuffle()
- drillable hierarchical lists
group_by() %>% set_hierarchy() %>% as.list()
- enhance tibbles/dataframes with pre-computed summary values (mean, sum, sd, etc.)
- easily digestible information about a variable/object
about()
-
rename_columns
,rename_rows
, andreset_rownames
functions for pipes -
reorder_columns
andreorder_rows
functions for pipes -
unlist_all
function to unlist each column in a data frame. - Split dataset into
n
parts (training, testing, and validation sets, etc.) usingsplit_2
andsplit_n
- not in
- New set operations
- Create new set type using
as.set()
- Introduce subset/superset logic
- Create new set type using
- Fancy loops
- automatically-binding loop
bloop(i in 1:100, method = "cbind", parmethod = "doParallel")
- returns multiple objects from loop
returns()
- automatically-binding loop
- ID'd Directional Pipe
%>%(1,2)
forobject<1>
andfunction()<2>
- Automatic Parallelism
- inherently set up local parallel
parkour()
orparcore()
using.onLoad
or.onAttach
- recognize loop operations to parallelize
for(){}
- inherently set up local parallel
- Specialized Imputation Methods for
NA
s.- Statistics-based methods: distribution, mean, mode, etc.
- Directional-based methods
- Time series methods
- Replacement of Slow Functions
- TBD
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details