
ggplot2 - Create Elegant Data Visualisations Using the Grammar of Graphics
A system for 'declaratively' creating graphics, based on "The Grammar of Graphics". You provide the data, tell 'ggplot2' how to map variables to aesthetics, what graphical primitives to use, and it takes care of the details.
Last updated
data-visualisationvisualisationquarto
25.42 score 6.9k stars 8.6k dependents 926k scripts 2.2M downloadsRcpp - Seamless R and C++ Integration
The 'Rcpp' package provides R functions as well as C++ classes which offer a seamless integration of R and C++. Many R data types and objects can be mapped back and forth to C++ equivalents which facilitates both writing of new code as well as easier integration of third-party libraries. Documentation about 'Rcpp' is provided by several vignettes included in this package, via the 'Rcpp Gallery' site at <https://gallery.rcpp.org>, the paper by Eddelbuettel and Francois (2011, <doi:10.18637/jss.v040.i08>), the book by Eddelbuettel (2013, <doi:10.1007/978-1-4614-6868-4>) and the paper by Eddelbuettel and Balamuta (2018, <doi:10.1080/00031305.2017.1375990>); see 'citation("Rcpp")' for details.
Last updated
c-plus-plusc-plus-plus-14c-plus-plus-17c-plus-plus-20c-plus-plus-23rcppcpp
22.96 score 795 stars 14k dependents 14k scripts 1.8M downloads
sf - Simple Features for R
Support for simple feature access, a standardized way to encode and analyze spatial vector data. Binds to 'GDAL' <doi:10.5281/zenodo.5884351> for reading and writing data, to 'GEOS' <doi:10.5281/zenodo.11396894> for geometrical operations, and to 'PROJ' <doi:10.5281/zenodo.5884394> for projection conversions and datum transformations. Uses by default the 's2' package for geometry operations on geodetic (long/lat degree) coordinates.
Last updated
gdalgeosprojspatialcpp
22.59 score 1.4k stars 1.4k dependents 144k scripts 400k downloads
magrittr - A Forward-Pipe Operator for R
Provides a mechanism for chaining commands with a new forward-pipe operator, %>%. This operator will forward a value, or the result of an expression, into the next function call/expression. There is flexible support for the type of right-hand side expressions. For more information, see package vignette. To quote Rene Magritte, "Ceci n'est pas un pipe."
Last updated
pipe
21.91 score 969 stars 14k dependents 92k scripts 1.8M downloadsdata.table - Extension of `data.frame`
Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development.
Last updated
21.58 score 3.9k stars 5.1k dependents 296k scripts 941k downloads
igraph - Network Analysis and Visualization
Routines for simple graphs and network analysis. It can handle large graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more.
Last updated
complex-networksgraph-algorithmsgraph-theorymathematicsnetwork-analysisnetwork-graphlibxml2glpkopenblascpp
21.43 score 612 stars 2.1k dependents 39k scripts 636k downloads
lubridate - Make Dealing with Dates a Little Easier
Functions to work with date-times and time-spans: fast and user friendly parsing of date-time data, extraction and updating of components of a date-time (years, months, days, hours, minutes, and seconds), algebraic manipulation on date-time and time-span objects. The 'lubridate' package has a consistent and memorable syntax that makes working with dates easy and fun.
Last updated
datedate-time
21.42 score 791 stars 2.2k dependents 195k scripts 808k downloads
vctrs - Vector Helpers
Defines new notions of prototype and size that are used to provide tools for consistent and well-founded type-coercion and size-recycling, and are in turn connected to ideas of type- and size-stability useful for analysing function interfaces.
Last updated
s3-vectors
20.18 score 301 stars 15k dependents 1.3k scripts 2.1M downloads
arrow - Integration to 'Apache' 'Arrow'
'Apache' 'Arrow' <https://arrow.apache.org/> is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware. This package provides an interface to the 'Arrow C++' library.
Last updated
arrowparquetcurlopensslcpp
19.94 score 17k stars 181 dependents 23k scripts 261k downloads
scales - Scale Functions for Visualization
Graphical scales map data to aesthetics, and provide methods for automatically determining breaks and labels for axes and legends.
Last updated
ggplot2
19.71 score 446 stars 9.0k dependents 111k scripts 1.4M downloads
vroom - Read and Write Rectangular Text Data Quickly
The goal of 'vroom' is to read and write data (like 'csv', 'tsv' and 'fwf') quickly. When reading it uses a quick initial indexing step, then reads the values lazily , so only the data you actually use needs to be read. The writer formats the data in parallel and writes to disk asynchronously from formatting.
Last updated
csvcsv-parserfixed-width-texttsvtsv-parsercpp
19.28 score 641 stars 2.3k dependents 6.9k scripts 901k downloadsstringi - Fast and Portable Character String Processing Facilities
A collection of character string/text/natural language processing tools for pattern searching (e.g., with 'Java'-like regular expressions or the 'Unicode' collation algorithm), random string generation, case mapping, string transliteration, concatenation, sorting, padding, wrapping, Unicode normalisation, date-time formatting and parsing, and many more. They are fast, consistent, convenient, and - thanks to 'ICU' (International Components for Unicode) - portable across all locales and platforms. Documentation about 'stringi' is provided via its website at <https://stringi.gagolewski.com/> and the paper by Gagolewski (2022, <doi:10.18637/jss.v103.i02>).
Last updated
icuicu4cnatural-language-processingnlpregexregexpstring-manipulationstringistringrtexttext-processingtidy-dataunicodecpp
18.37 score 317 stars 9.7k dependents 13k scripts 1.2M downloads
terra - Spatial Data Analysis
Methods for spatial data analysis with vector (points, lines, polygons) and raster (grid) data. Methods for vector data include geometric operations such as intersect and buffer. Raster methods include local, focal, global, zonal and geometric operations. The predict and interpolate methods facilitate the use of regression type (interpolation, machine learning) models for spatial prediction, including with satellite remote sensing data. Processing of very large files is supported. See the manual and tutorials on <https://rspatial.org/> to get started.
Last updated
geospatialrasterspatialvectoronetbbprojgdalgeoscpp
18.24 score 610 stars 976 dependents 41k scripts 216k downloadsstars - Spatiotemporal Arrays, Raster and Vector Data Cubes
Reading, manipulating, writing and plotting spatiotemporal arrays (raster and vector data cubes) in 'R', using 'GDAL' bindings provided by 'sf', and 'NetCDF' bindings by 'ncmeta' and 'RNetCDF'.
Last updated
rastersatellite-imagesspatial
18.23 score 606 stars 173 dependents 8.0k scripts 51k downloadslattice - Trellis Graphics for R
A powerful and elegant high-level data visualization system inspired by Trellis graphics, with an emphasis on multivariate data. Lattice is sufficient for typical graphics needs, and is also flexible enough to handle most nonstandard requirements. See ?Lattice for an introduction.
Last updated
18.11 score 72 stars 12k dependents 30k scripts 142k downloadsxts - eXtensible Time Series
Provide for uniform handling of R's different time-based data classes by extending zoo, maximizing native format information preservation and allowing for user level customization and extension, while simplifying cross-class interoperability.
Last updated
ctime-series
17.96 score 223 stars 514 dependents 13k scripts 324k downloadscpp11 - A C++11 Interface for R's C Interface
Provides a header only, C++11 interface to R's C interface. Compared to other approaches 'cpp11' strives to be safe against long jumps from the C API as well as C++ exceptions, conform to normal R function semantics and supports interaction with 'ALTREP' vectors.
Last updated
cppcpp11
17.89 score 225 stars 13k dependents 135 scripts 1.6M downloads
dtplyr - Data Table Back-End for 'dplyr'
Provides a data.table backend for 'dplyr'. The goal of 'dtplyr' is to allow you to write 'dplyr' code that is automatically translated to the equivalent, but usually much faster, data.table code.
Last updated
datatabledplyr
16.39 score 674 stars 150 dependents 2.7k scripts 441k downloadsfixest - Fast Fixed-Effects Estimations
Fast and user-friendly estimation of econometric models with multiple fixed-effects. Includes ordinary least squares (OLS), instrumental variables (IV), generalized linear models (GLM), maximum likelihood estimation (ML), and the negative binomial. The core of the package is based on optimized parallel C++ code, scaling especially well for large data sets. The method to obtain the fixed-effects coefficients is based on Bergé, Butts, McDermott (2026) <doi:10.48550/arXiv.2601.21749>. Further provides tools to export and view the results of several estimations with intuitive design to change the standard-errors.
Last updated
cppopenmp
16.14 score 445 stars 31 dependents 8.4k scripts 63k downloads
collapse - Advanced and Fast Data Transformation
A large C/C++-based package for advanced data transformation and statistical computing in R that is extremely fast, class-agnostic, robust, and programmer friendly. Core functionality includes a rich set of S3 generic grouped and weighted statistical functions for vectors, matrices and data frames, which provide efficient low-level vectorizations, OpenMP multithreading, and skip missing values by default. These are integrated with fast grouping and ordering algorithms (also callable from C), and efficient data manipulation functions. The package also provides a flexible and rigorous approach to time series and panel data in R, fast functions for data transformation and common statistical procedures, detailed (grouped, weighted) summary statistics, powerful tools to work with nested data, fast data object conversions, functions for memory efficient R programming, and helpers to effectively deal with variable labels, attributes, and missing data. It seamlessly supports base R objects/classes as well as 'units', 'integer64', 'xts'/ 'zoo', 'tibble', 'grouped_df', 'data.table', 'sf', and 'pseries'/'pdata.frame'. For a concise overview of the package see Krantz (2026) <doi:10.18637/jss.v116.i01>.
Last updated
data-aggregationdata-analysisdata-manipulationdata-processingdata-sciencedata-transformationeconometricshigh-performancepanel-datascientific-computingstatisticstime-seriesweightedweightscppopenmp
15.93 score 696 stars 133 dependents 1.6k scripts 49k downloads
mirai - Minimalist Async Evaluation Framework for R
Evaluates R expressions asynchronously and in parallel, locally or distributed across networks. An official parallel cluster type for R. Built on 'nanonext' and 'NNG', its non-polling, event-driven architecture scales from a laptop to thousands of processes across high-performance computing clusters and cloud platforms. Features FIFO scheduling with task cancellation and bounded queues, promises for reactive programming, 'OpenTelemetry' distributed tracing, and custom serialization for cross-language data types.
Last updated
asyncasynchronous-tasksconcurrencydistributed-computinghigh-performance-computingparallel-computing
15.06 score 323 stars 162 dependents 524 scripts 77k downloads
clock - Date-Time Types and Tools
Provides a comprehensive library for date-time manipulations using a new family of orthogonal date-time classes (durations, time points, zoned-times, and calendars) that partition responsibilities so that the complexities of time zones are only considered when they are really needed. Capabilities include: date-time parsing, formatting, arithmetic, extraction and updating of components, and rounding.
Last updated
cpp
14.39 score 110 stars 469 dependents 364 scripts 161k downloadss2 - Spherical Geometry Operators Using the S2 Geometry Library
Provides R bindings for Google's s2 library for geometric calculations on the sphere. High-performance constructors and exporters provide high compatibility with existing spatial packages, transformers construct new geometries from existing geometries, predicates provide a means to select geometries based on spatial relationships, and accessors extract information about geometries.
Last updated
opensslcpp
14.32 score 79 stars 1.4k dependents 288 scripts 278k downloadsfastmap - Fast Data Structures
Fast implementation of data structures, including a key-value store, stack, and queue. Environments are commonly used as key-value stores in R, but every time a new key is used, it is added to R's global symbol table, causing a small amount of memory leakage. This can be problematic in cases where many different keys are used. Fastmap avoids this memory leak issue by implementing the map using data structures in C++.
Last updated
cpp
14.22 score 135 stars 6.2k dependents 142 scripts 1.0M downloadsanytime - Anything to 'POSIXct' or 'Date' Converter
Convert input in any one of character, integer, numeric, factor, or ordered type into 'POSIXct' (or 'Date') objects, using one of a number of predefined formats, and relying on Boost facilities for date and time parsing.
Last updated
boostc-plus-plus-11conversionscpp11datedatetimeposixctrcppcpp
13.93 score 171 stars 107 dependents 1.4k scripts 51k downloadsggrastr - Rasterize Layers for 'ggplot2'
Rasterize only specific layers of a 'ggplot2' plot while simultaneously keeping all labels and text in vector format. This allows users to keep plots within the reasonable size limit without loosing vector properties of the scale-sensitive information.
Last updated
13.91 score 236 stars 74 dependents 3.0k scripts 26k downloadssnakecase - Convert Strings into any Case
A consistent, flexible and easy to use tool to parse and convert strings into cases like snake or camel among others.
Last updated
camelcasecaseconversionpascalcasesnake-case
13.90 score 155 stars 348 dependents 830 scripts 150k downloadsfst - Lightning Fast Serialization of Data Frames
Multithreaded serialization of compressed data frames using the 'fst' format. The 'fst' format allows for full random access of stored data and a wide range of compression settings using the LZ4 and ZSTD compressors.
Last updated
compressiondata-framedata-storagecpp
13.50 score 627 stars 53 dependents 3.0k scripts 18k downloads
duckplyr - A 'DuckDB'-Backed Version of 'dplyr'
A drop-in replacement for 'dplyr', powered by 'DuckDB' for performance. Offers convenient utilities for working with in-memory and larger-than-memory data while retaining full 'dplyr' compatibility.
Last updated
analyticsdataframedplyrduckdbperformance
13.46 score 388 stars 6 dependents 533 scripts 6.5k downloadsexactextractr - Fast Extraction from Raster Datasets using Polygons
Quickly and accurately summarizes raster values over polygonal areas ("zonal statistics").
Last updated
gisrasterrcppgeoscpp
13.16 score 306 stars 24 dependents 2.3k scripts 16k downloadsinline - Functions to Inline C, C++, Fortran Function Calls from R
Functionality to dynamically define R functions and S4 methods with 'inlined' C, C++ or Fortran code supporting the .C and .Call calling conventions.
Last updated
fortranrcpp
13.08 score 47 stars 342 dependents 676 scripts 266k downloadsdqrng - Fast Pseudo Random Number Generators
Several fast random number generators are provided as C++ header only libraries: The PCG family by O'Neill (2014 <https://www.cs.hmc.edu/tr/hmc-cs-2014-0905.pdf>) as well as the Xoroshiro / Xoshiro family by Blackman and Vigna (2021 <doi:10.1145/3460772>). In addition fast functions for generating random numbers according to a uniform, normal and exponential distribution are included. The latter two use the Ziggurat algorithm originally proposed by Marsaglia and Tsang (2000, <doi:10.18637/jss.v005.i08>). The fast sampling methods support unweighted sampling both with and without replacement. These functions are exported to R and as a C++ interface and are enabled for use with the default 64 bit generator from the PCG family, Xoroshiro128+/++/** and Xoshiro256+/++/** as well as the 64 bit version of the 20 rounds Threefry engine (Salmon et al., 2011, <doi:10.1145/2063384.2063405>) as provided by the package 'sitmo'.
Last updated
randomrandom-distributionsrandom-generationrandom-samplingrngcpp
12.66 score 49 stars 243 dependents 239 scripts 53k downloadstimechange - Efficient Manipulation of Date-Times
Efficient routines for manipulation of date-time objects while accounting for time-zones and daylight saving times. The package includes utilities for updating of date-time components (year, month, day etc.), modification of time-zones, rounding of date-times, period addition and subtraction etc. Parts of the 'CCTZ' source code, released under the Apache 2.0 License, are included in this package. See <https://github.com/google/cctz> for more details.
Last updated
ceilingdate-timeperiodroundingtimetime-zonesupdatecpp
12.58 score 31 stars 2.2k dependents 86 scripts 739k downloadsscattermore - Scatterplots with More Points
C-based conversion of large scatterplot data to rasters plus other operations such as data blurring or data alpha blending. Speeds up plotting of data with millions of points.
Last updated
performanceplotscatterplotvisualizationcpp
12.45 score 270 stars 120 dependents 772 scripts 38k downloadsJuliaCall - Seamless Integration Between R and 'Julia'
Provides an R interface to 'Julia', which is a high-level, high-performance dynamic programming language for numerical computing, see <https://julialang.org/> for more information. It provides a high-level interface as well as a low-level interface. Using the high level interface, you could call any 'Julia' function just like any R function with automatic type conversion. Using the low level interface, you could deal with C-level SEXP directly while enjoying the convenience of using a high-level programming language like 'Julia'.
Last updated
juliacpp
11.62 score 286 stars 12 dependents 573 scripts 8.9k downloadsnanotime - Nanosecond-Resolution Time Support for R
Full 64-bit resolution date and time functionality with nanosecond granularity is provided, with easy transition to and from the standard 'POSIXct' type. Three additional classes offer interval, period and duration functionality for nanosecond-resolution timestamps.
Last updated
datetimedatetimesnanosecond-resolutionnanosecondscpp
11.24 score 56 stars 18 dependents 161 scripts 14k downloadstinyplot - Lightweight Extension of the Base R Graphics System
Lightweight extension of the base R graphics system, with support for automatic legends, facets, themes, and various other enhancements.
Last updated
11.19 score 408 stars 8 dependents 169 scripts 11k downloadsstringfish - Alt String Implementation
Provides an extendable, performant and multithreaded 'alt-string' implementation backed by 'C++' vectors and strings.
Last updated
pcre2cpp
11.15 score 70 stars 131 dependents 19 scripts 34k downloads
tidytable - Tidy Interface to 'data.table'
A tidy interface to 'data.table', giving users the speed of 'data.table' while using tidyverse-like syntax.
Last updated
11.00 score 476 stars 11 dependents 846 scripts 8.3k downloadskit - Data Manipulation Functions Implemented in C
Basic functions, implemented in C, for large data manipulation. Fast vectorised ifelse()/nested if()/switch() functions, psum()/pprod() functions equivalent to pmin()/pmax() plus others which are missing from base R. Most of these functions are callable at C level.
Last updated
openmp
10.64 score 61 stars 6 dependents 130 scripts 6.1k downloadscollections - High Performance Container Data Types
Provides high performance container data types such as queues, stacks, deques, dicts and ordered dicts. Benchmarks <https://randy3k.github.io/collections/articles/benchmark.html> have shown that these containers are asymptotically more efficient than those offered by other packages.
Last updated
10.50 score 110 stars 66 dependents 204 scripts 35k downloadspolars - R Bindings for the 'polars' Rust Library
Lightning-fast 'DataFrame' library written in 'Rust'. Convert R data to 'Polars' data and vice versa. Perform fast, lazy, larger-than-memory and optimized data queries. 'Polars' is interoperable with the package 'arrow', as both are based on the 'Apache Arrow' Columnar Format.
Last updated
arrowpolarsrust
10.23 score 561 stars 2 dependents 274 scripts 6 downloadsRcppAlgos - High Performance Tools for Combinatorics and Computational Mathematics
Provides optimized functions and flexible iterators implemented in C++ for solving problems in combinatorics and computational mathematics. Handles various combinatorial objects including combinations, permutations, integer partitions and compositions, Cartesian products, unordered Cartesian products, and partition of groups. Utilizes the RMatrix class from 'RcppParallel' for thread safety. The combination and permutation functions contain constraint parameters that allow for generation of all results of a vector meeting specific criteria (e.g. finding all combinations such that the sum is between two bounds). Capable of ranking/unranking combinatorial objects efficiently (e.g. retrieve only the nth lexicographical result) which sets up nicely for parallelization as well as random sampling. Gmp support permits exploration where the total number of results is large (e.g. comboSample(10000, 500, n = 4)). Additionally, there are several high performance number theoretic functions that are useful for problems common in computational mathematics. Some of these functions make use of the fast integer division library 'libdivide'. The primeSieve function is based on the segmented sieve of Eratosthenes implementation by Kim Walisch. It is also efficient for large numbers by using the cache friendly improvements originally developed by Tomás Oliveira. Finally, there is a prime counting function that implements Legendre's formula based on the work of Kim Walisch.
Last updated
combinationscombinatoricsfactorizationnumber-theoryparallelpermutationprime-factorizationsprimesievegmpcpp
10.10 score 49 stars 18 dependents 147 scripts 1.6k downloads
fastverse - A Suite of High-Performance Packages for Statistics and Data Manipulation
Easy installation, loading and management, of high-performance packages for statistical computing and data manipulation in R. The core 'fastverse' consists of 4 packages: 'data.table', 'collapse', 'kit' and 'magrittr', that jointly only depend on 'Rcpp'. The 'fastverse' can be freely and permanently extended with additional packages, both globally or for individual projects. Separate package verses can also be created. Fast packages for many common tasks such as time series, dates and times, strings, spatial data, statistics, data serialization, larger-than-memory processing, and compilation of R code are listed in the README file: <https://github.com/fastverse/fastverse#suggested-extensions>.
Last updated
ccppdata-aggregationdata-manipulationdata-sciencedata-transformationhigh-performancelow-dependencypanel-datastatistical-computingtime-seriesweights
9.71 score 320 stars 254 scripts 4.3k downloads
tidyfst - Tidy Verbs for Fast Data Manipulation
A toolkit of tidy data manipulation verbs with 'data.table' as the backend. Combining the merits of syntax elegance from 'dplyr' and computing performance from 'data.table', 'tidyfst' intends to provide users with state-of-the-art data manipulation tools with least pain. This package is an extension of 'data.table'. While enjoying a tidy syntax, it also wraps combinations of efficient functions to facilitate frequently-used data operations.
Last updated
8.99 score 108 stars 1 dependents 127 scripts 1.3k downloadsbroadcast - Broadcasted Array Operations Like 'NumPy'
Implements efficient 'NumPy'-like broadcasted operations for atomic and recursive arrays. In the context of operations involving 2 (or more) arrays, “broadcasting” (AKA singleton expansion) refers to efficiently recycling array dimensions, without making copies. Besides linking to 'Rcpp', 'broadcast' does not use any external libraries in any way; 'broadcast' was essentially made from scratch and can be installed out-of-the-box. The implementations available in 'broadcast' include, but are not limited to, the following. 1) Broadcasted element-wise operations on any 2 arrays; they support a large set of relational, arithmetic, Boolean, string, and bit-wise operations. 2) A faster, more memory efficient, and broadcasted abind-like function, for binding arrays along an arbitrary dimension. 3) Broadcasted ifelse-like and apply-like functions. 4) Casting functions, that cast subset-groups of an array to a new dimension, cast nested lists to dimensional lists, and vice-versa. 5) A few linear algebra functions for statistics. The functions in the 'broadcast' package strive to minimize computation time and memory usage (which is not just better for efficient computing, but also for the environment).
Last updated
data-manipulationfastversehigh-performancemultidimensional-arraysnumpyscientific-computingcpp
7.42 score 27 stars 632 scripts 216 downloadsdggridR - Discrete Global Grids
Spatial analyses involving binning require that every bin have the same area, but this is impossible using a rectangular grid laid over the Earth or over any projection of the Earth. Discrete global grids use hexagons, triangles, and diamonds to overcome this issue, overlaying the Earth with equally-sized bins. This package provides utilities for working with discrete global grids, along with utilities to aid in plotting such data.
Last updated
cpp
7.32 score 4 stars 1 dependents 870 scripts 514 downloadstidyCpp - Tidy C++ Header-Only Definitions for Parts of the C API of R
Core parts of the C API of R are wrapped in a C++ namespace via a set of inline functions giving a tidier representation of the underlying data structures and functionality using a header-only implementation without additional dependencies.
Last updated
cpp
7.24 score 43 stars 3 dependents 603 downloadscheapr - Simple Functions to Save Time and Memory
Fast and memory-efficient (or 'cheap') tools to facilitate efficient programming, saving time and memory. It aims to provide 'cheaper' alternatives to common base R functions, as well as some additional functions.
Last updated
cppopenmp
7.14 score 21 stars 2 dependents 104 scripts 829 downloads
quickr - Compiler for R
Compile R functions annotated with type and shape declarations for extremely fast performance and robust runtime type checking. Supports both just-in-time (JIT) and ahead-of-time (AOT) compilation. Compilation is performed by lowering R code to Fortran.
Last updated
6.79 score 179 stars 7 scripts 666 downloadshutilscpp - Miscellaneous Functions in C++
Provides utility functions that are simply, frequently used, but may require higher performance that what can be obtained from base R. Incidentally provides support for 'reverse geocoding', such as matching a point with its nearest neighbour in another array. Used as a complement to package 'hutils' by sacrificing compilation or installation time for higher running speeds. The name is a portmanteau of the author and 'Rcpp'.
Last updated
openmp
5.77 score 9 stars 2 dependents 109 scripts 339 downloadsast2ast - Translates an R Function to a C++ Function
Enable translation of a tiny subset of R to C++. The user has to define a R function which gets translated. For a full list of possible functions check the documentation. After translation an R function is returned which is a shallow wrapper around the C++ code. Alternatively an external pointer to the C++ function is returned to the user. The intention of the package is to generate fast functions which can be used as ode-system or during optimization.
Last updated
abstract-syntax-treecc-plus-plusexpression-templatematrixrcpptranspilervectoropenblascpp
5.31 score 34 stars 12 scripts 52 downloadsmatrixStats - Functions that Apply to Rows and Columns of Matrices (and to Vectors)
High-performing functions operating on rows and columns of matrices, e.g. col / rowMedians(), col / rowRanks(), and col / rowSds(). Functions optimized per data type and for subsetted calculations such that both memory usage and processing time is minimized. There are also optimized vector-based methods, e.g. binMeans(), madDiff() and weightedMedian().
Last updated
matrixperformancevector
18.04 score 214 stars 2.5k dependents 24k scripts 481k downloadsparallelDist - Parallel Distance Matrix Computation using Multiple Threads
A fast parallelized alternative to R's native 'dist' function to calculate distance matrices for continuous, binary, and multi-dimensional input matrices, which supports a broad variety of 41 predefined distance functions from the 'stats', 'proxy' and 'dtw' R packages, as well as user- defined functions written in C++. For ease of use, the 'parDist' function extends the signature of the 'dist' function and uses the same parameter naming conventions as distance methods of existing R packages. The package is mainly implemented in C++ and leverages the 'RcppParallel' package to parallelize the distance computations with the help of the 'TinyThread' library. Furthermore, the 'Armadillo' linear algebra library is used for optimized matrix operations during distance calculations. The curiously recurring template pattern (CRTP) technique is applied to avoid virtual functions, which improves the Dynamic Time Warping calculations while the implementation stays flexible enough to support different DTW step patterns and normalization methods.
Last updated
data-sciencedistance-computationsmatricesopenblascpp
10.64 score 54 stars 18 dependents 514 scripts 3.7k downloadsqs - Quick Serialization of R Objects
Provides functions for quickly writing and reading any R object to and from disk.
Last updated
compressiondata-storageencodingserializationlibzstdlz4cpp
10.63 score 438 stars 15 dependents 4.7k scripts 1.3k downloadsfastmatch - Fast 'match()' Function
Package providing a fast match() replacement for cases that require repeated look-ups. It is slightly faster that R's built-in match() function on first match against a table, but extremely fast on any subsequent lookup as it keeps the hash table in memory.
Last updated
10.06 score 21 stars 367 dependents 282 scripts 88k downloadsmaditr - Fast Data Aggregation, Modification, and Filtering with Pipes and 'data.table'
Provides pipe-style interface for 'data.table'. Package preserves all 'data.table' features without significant impact on performance. 'let' and 'take' functions are simplified interfaces for most common data manipulation tasks. For example, you can write 'take(mtcars, mean(mpg), by = am)' for aggregation or 'let(mtcars, hp_wt = hp/wt, hp_wt_mpg = hp_wt/mpg)' for modification. Use 'take_if/let_if' for conditional aggregation/modification. Additionally there are some conveniences such as automatic 'data.frame' conversion to 'data.table'.
Last updated
data-tablemagrittrpipes
9.41 score 61 stars 9 dependents 312 scripts 8.3k downloadscoop - Co-Operation: Fast Covariance, Correlation, and Cosine Similarity Operations
Fast implementations of the co-operations: covariance, correlation, and cosine similarity. The implementations are fast and memory-efficient and their use is resolved automatically based on the input data, handled by R's S3 methods. Full descriptions of the algorithms and benchmarks are available in the package vignettes.
Last updated
openblasopenmp
9.09 score 37 stars 14 dependents 234 scripts 1.7k downloadsgeos - Open Source Geometry Engine ('GEOS') R API
Provides an R API to the Open Source Geometry Engine ('GEOS') library (<https://libgeos.org/>) and a vector format with which to efficiently store 'GEOS' geometries. High-performance functions to extract information from, calculate relationships between, and transform geometries are provided. Finally, facilities to import and export geometry vectors to other spatial formats are provided.
Last updated
cpp
8.87 score 64 stars 11 dependents 178 scripts 4.0k downloadsJuliaConnectoR - A Functionally Oriented Interface for Integrating 'Julia' with R
Allows to import functions and whole packages from 'Julia' in R. Imported 'Julia' functions can directly be called as R functions. Data structures can be translated between 'Julia' and R. More details can also be found in the corresponding article <doi:10.18637/jss.v101.i06>.
Last updated
interoperabilityjulia
8.56 score 112 stars 12 dependents 146 scripts 1.5k downloadsRfast2 - A Collection of Efficient and Extremely Fast R Functions II
A collection of fast statistical and utility functions for data analysis. Functions for regression, maximum likelihood, column-wise statistics and many more have been included. C++ has been utilized to speed up the functions. References: Tsagris M., Papadakis M. (2018). Taking R to its limits: 70+ tips. PeerJ Preprints 6:e26605v1 <doi:10.7287/peerj.preprints.26605v1>.
Last updated
openblascppopenmp
8.50 score 42 stars 33 dependents 97 scripts 5.3k downloadsfasttime - Fast Utility Function for Time Parsing and Conversion
Fast functions for timestamp manipulation that avoid system calls and take shortcuts to facilitate operations on very large data.
Last updated
8.43 score 43 stars 10 dependents 348 scripts 12k downloadsrrapply - Revisiting Base Rapply
The minimal 'rrapply'-package contains a single function rrapply(), providing an extended implementation of 'R'-base rapply() by allowing to recursively apply a function to elements of a nested list based on a general condition function and including the possibility to prune or aggregate nested list elements from the result. In addition, special arguments can be supplied to access the name, location, parents and siblings in the nested list of the element under evaluation. The rrapply() function builds upon rapply()'s native 'C' implementation and requires no other package dependencies.
Last updated
listrapplyrecursion
8.24 score 62 stars 16 dependents 74 scripts 1.6k downloadscppRouting - Algorithms for Routing and Solving the Traffic Assignment Problem
Calculation of distances, shortest paths and isochrones on weighted graphs using several variants of Dijkstra algorithm. Proposed algorithms are unidirectional Dijkstra (Dijkstra, E. W. (1959) <doi:10.1007/BF01386390>), bidirectional Dijkstra (Goldberg, Andrew & Fonseca F. Werneck, Renato (2005) <https://www.cs.princeton.edu/courses/archive/spr06/cos423/Handouts/EPP%20shortest%20path%20algorithms.pdf>), A* search (P. E. Hart, N. J. Nilsson et B. Raphael (1968) <doi:10.1109/TSSC.1968.300136>), new bidirectional A* (Pijls & Post (2009) <https://repub.eur.nl/pub/16100/ei2009-10.pdf>), Contraction hierarchies (R. Geisberger, P. Sanders, D. Schultes and D. Delling (2008) <doi:10.1007/978-3-540-68552-4_24>), PHAST (D. Delling, A.Goldberg, A. Nowatzyk, R. Werneck (2011) <doi:10.1016/j.jpdc.2012.02.007>). Algorithms for solving the traffic assignment problem are All-or-Nothing assignment, Method of Successive Averages, Frank-Wolfe algorithm (M. Fukushima (1984) <doi:10.1016/0191-2615(84)90029-8>), Conjugate and Bi-Conjugate Frank-Wolfe algorithms (M. Mitradjieva, P. O. Lindberg (2012) <doi:10.1287/trsc.1120.0409>), Algorithm-B (R. B. Dial (2006) <doi:10.1016/j.trb.2006.02.008>).
Last updated
algorithmalgorithm-bbidirectional-a-star-algorithmc-plus-pluscontraction-hierarchiesdijkstra-algorithmdistancefrank-wolfeisochronesparallel-computingrcppshortest-pathstraffic-assignmentcpp
7.94 score 121 stars 7 dependents 68 scripts 659 downloadsmatrixTests - Fast Statistical Hypothesis Tests on Rows and Columns of Matrices
Functions to perform fast statistical hypothesis tests on rows/columns of matrices. The main goals are: 1) speed via vectorization, 2) output that is detailed and easy to use, 3) compatibility with tests implemented in R (like those available in the 'stats' package).
Last updated
anovafasthypothesis-testingmatrixrowst-testwilcoxon-test
7.78 score 35 stars 10 dependents 418 scripts 1.4k downloadstidyfast - Fast Tidying of Data
Tidying functions built on 'data.table' to provide quick and efficient data manipulation with minimal overhead.
Last updated
cpp
6.82 score 188 stars 140 scripts 570 downloadstimeplyr - Fast Tidy Tools for Date and Date-Time Manipulation
A set of fast tidy functions for wrangling, completing and summarising date and date-time data. It combines 'tidyverse' syntax with the efficiency of 'data.table' and speed of 'collapse'.
Last updated
cpp
6.70 score 47 stars 213 scripts 303 downloadsfastplyr - Fast Alternatives to 'tidyverse' Functions
A full set of fast data manipulation tools with a tidy front-end and a fast back-end using 'collapse' and 'cheapr'.
Last updated
cpp
6.43 score 24 stars 1 dependents 42 scripts 635 downloadstable.express - Build 'data.table' Expressions with Data Manipulation Verbs
A specialization of 'dplyr' data manipulation verbs that parse and build expressions which are ultimately evaluated by 'data.table', letting it handle all optimizations. A set of additional verbs is also provided to facilitate some common operations on a subset of the data.
Last updated
5.82 score 66 stars 8 scripts 279 downloads
tidyft - Fast and Memory Efficient Data Operations in Tidy Syntax
Tidy syntax for 'data.table', using modification by reference whenever possible. This toolkit is designed for big data analysis in high-performance desktop or laptop computers. The syntax of the package is similar or identical to 'tidyverse'. It is user friendly, memory efficient and time saving. For more information, check its ancestor package 'tidyfst'.
Last updated
5.62 score 35 stars 24 scripts 345 downloads
SLmetrics - Machine Learning Performance Evaluation on Steroids
Performance evaluation metrics for supervised and unsupervised machine learning, statistical learning and artificial intelligence applications. Core computations are implemented in 'C++' for scalability and efficiency.
Last updated
armadilloarmadillo-libraryartificial-intelligencecppdata-analysisdata-scienceeigen3machine-learningperformance-metricsrcpprcpparmadillorcppeigenstatisticssupervised-learningopenblascppopenmp
4.73 score 27 stars 7 scripts 10 downloadsXRJulia - Structured Interface to Julia
A Julia interface structured according to the general form described in package 'XR' and in the book "Extending R".
Last updated
4.42 score 35 stars 15 scripts 147 downloadsstdvectors - C++ Standard Library Vectors in R
Allows the creation and manipulation of C++ std::vector's in R.
Last updated
cpp
3.18 score 3 stars 2 scripts 554 downloads

