dataprep: Fast, Efficient, and Versatile Data Preprocessing and Reshaping with 'C++', 'OpenMP' & 'SIMD'

Fast, efficient, and versatile preprocessing and reshaping of tabular and time-series data. Most heavy routines are implemented in 'C++' via 'Rcpp', with optional 'OpenMP' parallelization and 'SIMD' acceleration ('AVX2' / 'AVX-512') on supported hardware. The 0.1.8 release rewrites the cleaning routines in 'C++' and delivers a 1.1–1146× speedup over 0.1.5. The 'melt()' and 'dcast()' reshaping functions achieve a 0.6×–1628.9× speedup for 'melt()' and a 1.9×–799.8× speedup for 'dcast()' relative to every one of the seven major alternatives in the R and Python ecosystems, at every tested scale (from 1,000 to 100,000,000 rows), and produce output identical to 'reshape2', 'data.table', 'tidyr', 'pandas', 'polars', 'dask', and 'duckdb'. Core preprocessing steps include variable deletion by missing fraction, observation deletion by consecutive missing runs, point-by-point weighted outlier removal via conditional extremum, traditional percentile-based outlier removal, and linear interpolation within short time periods. The package also provides fast reshaping, descriptive statistics, missing-value diagnosis, multiple imputation strategies, winsorization, several outlier detection methods (IQR, MAD, percentile), data transformation and standardization, categorical encoding, duplicate removal, data validation, data quality reporting, and stratified sampling. Feature-engineering helpers cover binning, high-correlation and low-variance filtering, and string cleaning. Time-series tools cover detrending, diurnal-cycle removal, rolling statistics, lag creation, resampling, simple decomposition, day/night and season flags, log returns, drift detection, and panel balancing. Fit/transform-style machine-learning interfaces prevent data leakage during preprocessing. Methods are based on, and improved from: Liang, C.-S., Wu, H., Li, H.-Y., Zhang, Q., Li, Z. & He, K.-B. (2020) <doi:10.1016/j.scitotenv.2020.140923>. This work was supported by the National Natural Science Foundation of China (No. 12301674).

Version: 0.1.8
Depends: R (≥ 4.0.0)
Imports: Rcpp (≥ 1.0.10), ggplot2, stats, parallel
LinkingTo: Rcpp (≥ 1.0.10)
Suggests: knitr, rmarkdown, testthat (≥ 3.0.0), data.table, reshape2, tidyr, dplyr, microbenchmark, reticulate
Published: 2026-10-01
DOI: 10.32614/CRAN.package.dataprep
Author: Chun-Sheng Liang ORCID iD [aut, cre], Hao Wu [aut], Hai-Yan Li [aut], Qiang Zhang [aut], Zhanqing Li [aut], Ke-Bin He [aut]
Maintainer: Chun-Sheng Liang <chun-shengliang at qq.com>
BugReports: https://github.com/chunshengliang/dataprep/issues
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
URL: https://github.com/chunshengliang/dataprep, https://chunshengliang.github.io/dataprep/
NeedsCompilation: yes
SystemRequirements: C++17, optional OpenMP
Citation: dataprep citation info
Materials: README, NEWS
CRAN checks: dataprep results

Documentation:

Reference manual: dataprep.html , dataprep.pdf
Vignettes: dataprep: cleaning pipeline (source, R code)
dataprep: fast reshaping with melt() and dcast() (source, R code)
dataprep: upgrading from 0.1.5 to 0.1.8 (source, R code)
dataprep: performance and cross-engine consistency (source, R code)
dataprep: design philosophy and preprocessing methodology (source, R code)
dataprep: descriptive statistics and diagnostic plots (source, R code)
dataprep: a leakage-free preprocessing workflow (source, R code)

Downloads:

Package source: dataprep_0.1.8.tar.gz
Windows binaries: r-devel: dataprep_0.1.5.zip, r-release: dataprep_0.1.5.zip, r-oldrel: dataprep_0.1.5.zip
macOS binaries: r-release (arm64): dataprep_0.1.5.tgz, r-oldrel (arm64): dataprep_0.1.5.tgz, r-release (x86_64): dataprep_0.1.8.tgz, r-oldrel (x86_64): dataprep_0.1.8.tgz
Old sources: dataprep archive

Linking:

Please use the canonical form https://CRAN.R-project.org/package=dataprep to link to this page.