[{"path":"/articles/fastverse_intro.html","id":"extending-the-fastverse-for-the-session","dir":"Articles","previous_headings":"","what":"Extending the fastverse for the Session","title":"Introduction to the *fastverse*","text":"core packages attached library(fastverse), possible extend fastverse current session adding number additional packages fastverse_extend(). attach packages, displaying package versions (useful replicability), (default) check namespace clashes attached packages, well among added packages. fastverse packages (particular packages) can detached using fastverse_detach. programming purposes also possible pass vectors packages fastverse_extend fastverse_detach3. defaults fastverse_detach set detaching ‘light’. Packages unloaded fastverse options set session kept. ‘Harder’ modes detaching can achieved using arguments unload = TRUE (force = TRUE) (forcefully) detach unload fastverse packages, /session = TRUE clear fastverse options set4. fastverse_detach can also used detach attached packages part fastverse. recommended load packages used current session fastverse_extend(), display conflicts loaded able keep track search path fastverse_conflicts(). Since options(\"fastverse.extend\") keeps track packages added fastverse current session, also possible set loading fastverse e.g. ","code":"# Extend the fastverse for the session fastverse_extend(xts, roll, fasttime) # -- Attaching extension packages ----------------------------- fastverse 0.3.2 -- # v xts      0.13.1     v fasttime 1.1.0  # v roll     1.1.6 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x xts::first() masks data.table::first() # x xts::last()  masks data.table::last()  # See that these are now part of the fastverse fastverse_packages() # [1] \"data.table\" \"magrittr\"   \"kit\"        \"collapse\"   \"xts\"        # [6] \"roll\"       \"fasttime\"   \"fastverse\"  # They are also saved in a like-named option  options(\"fastverse.extend\") # $fastverse.extend # [1] \"xts\"      \"roll\"     \"fasttime\" # Detaches all packages (including the fastverse) but does not (default) unload them fastverse_detach() # Extensions are still here ... options(\"fastverse.extend\") # $fastverse.extend # [1] \"xts\"      \"roll\"     \"fasttime\"  # Thus attaching the fastverse again will include them library(fastverse) # -- Attaching packages --------------------------------------- fastverse 0.3.2 -- # v data.table 1.14.8         v xts        0.13.1     # v magrittr   2.0.3          v roll       1.1.6      # v kit        0.0.13         v fasttime   1.1.0      # v collapse   1.9.6.9500 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x xts::first() masks data.table::first() # x xts::last()  masks data.table::last() # Detaching and unloading all packages and clearing options fastverse_detach(session = TRUE, unload = TRUE) # Warning: 'magrittr' namespace cannot be unloaded: #   namespace 'magrittr' is imported by 'purrr', 'pkgdown', 'stringr' so cannot be unloaded options(fastverse.extend = c(\"qs\", \"fst\")) library(fastverse) # -- Attaching packages --------------------------------------- fastverse 0.3.2 -- # v data.table 1.14.8         v collapse   1.9.6.9500 # v magrittr   2.0.3          v qs         0.25.5     # v kit        0.0.13         v fst        0.9.8  fastverse_detach(session = TRUE)"},{"path":"/articles/fastverse_intro.html","id":"permanent-extensions","dir":"Articles","previous_headings":"","what":"Permanent Extensions","title":"Introduction to the *fastverse*","text":"fasvtverse_extend fastverse_detach argument permanent = TRUE can used make changes persist across R sessions. implemented using global configuration file saved package directory5. example, suppose work involves time series analysis, like add xts, zoo, anytime roll fastverse. Let’s say also don’t really need switches parallel statistics provided kit package completely happy base pipe don’t need magrittr. Let’s finally say don’t want xts::first xts::last mask data.table::first data.table::last. permanently modify fastverse follows6: verify modification, can see order packages attached, conflict check: Note options(\"fastverse.extend\") still empty, written changes config file7. Now lets see permanent modification worked: permanent modification, fastverse can still extend session: long current installation fastverse kept, modifications persist across R sessions. Needless say ideal reinstallation fastverse remove config file. Therefore, fastverse also offers persistent flexible mechanism configure inside projects.","code":"library(fastverse) # -- Attaching packages --------------------------------------- fastverse 0.3.2 -- # v data.table 1.14.8         v kit        0.0.13     # v magrittr   2.0.3          v collapse   1.9.6.9500  # Adding extensions fastverse_extend(xts, zoo, roll, anytime, permanent = TRUE) # -- Attaching extension packages ----------------------------- fastverse 0.3.2 -- # v xts     0.13.1     v anytime 0.3.9  # v roll    1.1.6 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x zoo::as.Date()         masks base::as.Date() # x zoo::as.Date.numeric() masks base::as.Date.numeric() # x xts::first()           masks data.table::first() # x xts::last()            masks data.table::last()  # Removing some core packages fastverse_detach(data.table, kit, magrittr, permanent = TRUE)  # Adding data.table again, so it is attached last fastverse_extend(data.table, permanent = TRUE) # -- Attaching extension packages ----------------------------- fastverse 0.3.2 -- # v data.table 1.14.8 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x data.table::first() masks xts::first() # x data.table::last()  masks xts::last() # This will be the order in which packages are attached fastverse_packages(include.self = FALSE) # [1] \"collapse\"   \"xts\"        \"zoo\"        \"roll\"       \"anytime\"    # [6] \"data.table\"  # Check conflicts to make sure data.table functions take precedence fastverse_conflicts() # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x zoo::as.Date()         masks base::as.Date() # x zoo::as.Date.numeric() masks base::as.Date.numeric() # x data.table::first()    masks xts::first() # x data.table::last()     masks xts::last() # Detach all packages and clear all options fastverse_detach(session = TRUE) library(fastverse)  # -- Attaching packages --------------------------------------- fastverse 0.3.2 -- # v collapse   1.9.6.9500     v roll       1.1.6      # v xts        0.13.1         v anytime    0.3.9      # v zoo        1.8.12         v data.table 1.14.8 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x zoo::as.Date()         masks base::as.Date() # x zoo::as.Date.numeric() masks base::as.Date.numeric() # x data.table::first()    masks xts::first() # x data.table::last()     masks xts::last() # Extension for the session fastverse_extend(Rfast, coop) # -- Attaching extension packages ----------------------------- fastverse 0.3.2 -- # v Rfast 2.0.8     v coop  0.6.3 # -- Conflicts ------------------------------------------ fastverse_conflicts() -- # x Rfast::group()     masks collapse::group() # x Rfast::transpose() masks data.table::transpose()  # These packages go here options(\"fastverse.extend\") # $fastverse.extend # [1] \"Rfast\" \"coop\"  # This fetches packages from both the file and the option fastverse_packages() # [1] \"collapse\"   \"xts\"        \"zoo\"        \"roll\"       \"anytime\"    # [6] \"data.table\" \"Rfast\"      \"coop\"       \"fastverse\""},{"path":"/articles/fastverse_intro.html","id":"custom-fastverse-configurations-for-projects","dir":"Articles","previous_headings":"","what":"Custom fastverse Configurations for Projects","title":"Introduction to the *fastverse*","text":"can put together custom collection packages project, load / manage library(fastverse). need include configuration file named .fastverse (file extension) inside project directory, place inside file names packages loaded calling library(fastverse)8. Note packages loaded core fastverse project need included file, order attached. addition, can set global options environment variables, either list packages. Options must prefixed _opt_ environment variables _env_, either must placed separate lines. example, including .fastverse script like project directory, placing library(fastverse) top R script project first set options(collapse_mask = c(\"manip\", \"helper), fastverse.install = TRUE)9, attach packages order provided, set options(max.print = 100, kit.nThread = 4) Sys.setenv(NCRAN = TRUE). Note packages can spread across multiple lines, need together .e. separated options. Alternatively can also use .Rprofile file set fastverse options options(fastverse.extend = c(...packages...)) . advantage .fastverse files can specify options loaded loading packages library(fastverse)10, can also prevent core packages loaded excluding .fastverse file. Using fastverse jointly load important packages set important options can facilitate package management inside projects serve bridge loading packages individually using rigorous package namespace management solutions renv, conflicted, box import. basic level, loading packages fastverse displays package versions checks namespace conflicts, helping spot issues might arise packages updated. also allows easily check dependencies update status packages used project fastverse_sitrep(), update necessary fastverse_update(). Using config file project ignore global configuration discussed previous section. can still extend fastverse inside project session using fastverse_extend (options(fastvers.extend = c(...packages...)) library(fastverse)).","code":"_opt_collapse_mask = c(\"manip\", \"helper\") _opt_fastverse.install = TRUE  data.table, kit, magrittr, collapse, qs, fixest,  ranger, robustbase, decompr  _opt_max.print = 100 _opt_kit.nThread = 4 _env_NCRAN = TRUE"},{"path":"/articles/fastverse_intro.html","id":"creating-separate-package-verses","dir":"Articles","previous_headings":"","what":"Creating Separate Package-Verses","title":"Introduction to the *fastverse*","text":"last, can also create wholly separate fully customizable verses - fastverse_child() function. Let’s say like create verse time series analysis want keep separate fastverse. easily done using e.g. default (install = TRUE, keep.dir = TRUE) package installed source directory created dir/name, allowing edits package. fastverse children inherit 90% functionality fastverse package: permanently globally extensible can bear children , can configured projects (using, case, .tsverse config file options starting ‘tsverse’) extended session. function uses prepared ‘child’ branch GitHub repository, thus require packages devtools.","code":"fastverse_child(   name = \"tsverse\",    title = \"Time Series Package Verse\",    pkg = c(\"xts\", \"roll\", \"zoo\", \"tsbox\", \"urca\", \"tseries\", \"tsutils\", \"forecast\"),    maintainer = 'person(\"GivenName\", \"FamilyName\", role = \"cre\", email = \"your@email.com\")',   dir = \"C:/Users/.../Documents\",    theme = \"tidyverse\")"},{"path":"/articles/fastverse_intro.html","id":"dependencies-situational-reports-and-updating","dir":"Articles","previous_headings":"","what":"Dependencies, Situational Reports and Updating","title":"Introduction to the *fastverse*","text":"Just like ’s tidyverse equivalent, fastverse_deps() (recursively) determines joint dependencies fastverse packages also checks local versions CRAN versions. Additional flexibility offered pkg argument allowing dependency update status checks packages. fastverse_sitrep() displays information elegant printout, also showing version R, whether global project-level configuration files - discussed previous sections - used. fastverse_update() can used (default) print install.packages() statement update fastverse packages dependencies, install updates straight away (install = TRUE). three functions, check.deps = FALSE can specified exclude dependencies fastverse packages, recursive = TRUE can used check dependencies, include.self = TRUE can used also check updates fastverse package . development versions core suggested fastverse packages also collected r-universe server https://fastverse.r-universe.dev. Mac/Windows binaries built server within 24h change main branch GitHub repository. Since v0.3.0 package exports global macro .fastverse_repos contains URL repository alongside CRAN repository URL (needed non-fastverse dependencies). Functions fastverse_deps(), fastverse_update(), fastverse_install() fastverse_siteep() repos argument defaults getOption(\"repos\") (CRAN), users can set repos = .fastverse_repos check / update / install development versions fastverse packages r-universe.","code":"# Recursively determine the joint dependencies of the current fastverse configuration fastverse_deps(recursive = TRUE) # Returns a data frame #          package      repos      local behind # 1       collapse      1.9.6 1.9.6.9500  FALSE # 2            xts     0.13.1     0.13.1  FALSE # 3            zoo     1.8.12     1.8.12  FALSE # 4           roll      1.1.6      1.1.6  FALSE # 5        anytime      0.3.9      0.3.9  FALSE # 6     data.table     1.14.8     1.14.8  FALSE # 7          Rfast      2.0.8      2.0.8  FALSE # 8           coop      0.6.3      0.6.3  FALSE # 9             BH   1.81.0.1   1.81.0.1  FALSE # 10       lattice     0.21.8     0.21.8  FALSE # 11          Rcpp     1.0.11     1.0.11  FALSE # 12 RcppArmadillo 0.12.6.4.0 0.12.2.0.0   TRUE # 13       RcppGSL     0.3.13     0.3.13  FALSE # 14  RcppParallel      5.1.7      5.1.7  FALSE # 15  RcppZiggurat      0.1.6      0.1.6  FALSE # Check versions and update status of packages and dependencies fastverse_sitrep() # default is recursive = FALSE # -- fastverse 0.3.2: Situation Report -------------------------------- R 4.3.0 -- #  * Global config file: TRUE #  * Project config file: FALSE # -- Core packages ---------------------------------------------------------------  #  * collapse      (1.9.6.9500) #  * xts           (0.13.1) #  * zoo           (1.8.12) #  * roll          (1.1.6) #  * anytime       (0.3.9) #  * data.table    (1.14.8) # -- Extension packages ----------------------------------------------------------  #  * Rfast         (2.0.8) #  * coop          (0.6.3) # -- Dependencies ----------------------------------------------------------------  #  * BH            (1.81.0.1) #  * lattice       (0.21.8) #  * Rcpp          (1.0.11) #  * RcppArmadillo (0.12.2.0.0 < 0.12.6.4.0) #  * RcppParallel  (5.1.7) #  * RcppZiggurat  (0.1.6) # Check development versions on GitHub / r-universe, and install them if desired.  fastverse_update(repos = .fastverse_repos)  # The following packages are out of date: #  #  * xts           (0.13.1 -> 0.13.1.2) #  * roll          (1.1.6 -> 1.1.7) #  * anytime       (0.3.9 -> 0.3.9.5) #  * data.table    (1.14.8 -> 1.14.9) #  * Rcpp          (1.0.11 -> 1.0.11.2) #  * RcppArmadillo (0.12.2.0.0 -> 0.12.6.4.0) #  # Start a clean R session then run: # install.packages(c(\"xts\", \"roll\", \"anytime\", \"data.table\", \"Rcpp\", \"RcppArmadillo\" # ), repos = c(fastverse = \"https://fastverse.r-universe.dev\", CRAN = \"https://cloud.r-project.org\"))"},{"path":"/articles/fastverse_intro.html","id":"other-fastverse-options","dir":"Articles","previous_headings":"","what":"Other fastverse Options","title":"Introduction to the *fastverse*","text":"Apart \"fastverse.extend\", fastverse also options \"fastverse.install\", \"fastverse.styling\" \"fastverse.quiet\". Setting options(fastverse.install = TRUE) library(fastverse) make sure packages missing system installed beforehand. can also done ex-post using fastverse_install() function. Setting options(fastverse.styling = FALSE) disable coloured text printed R console (done vignette). options(fastverse.quiet = TRUE) omit messages printed library(fastverse) fastverse_extend() fastverse_install(): want omit function clash check calling fastverse_extend, can also use fastverse_extend(..., check.conflicts = FALSE).","code":"fastverse_detach() options(fastverse.quiet = TRUE) library(fastverse) # Nothing to see here  # This gives lots of function clashes with data.table, but they are not displayed in quiet mode fastverse_extend(lubridate)"},{"path":"/articles/fastverse_intro.html","id":"conclusion","dir":"Articles","previous_headings":"","what":"Conclusion","title":"Introduction to the *fastverse*","text":"fastverse developed principally 2 reasons: promote quality high-performance software development R, provide flexible approach package loading management R, particularly users wishing combine various high-performance packages statistical workflows. extent high-performance software development R continues prioritize low-dependency stable APIs, complex statistical project workflows can developed without sophisticated package management solutions.","code":"# Resetting the fastverse to defaults (clearing all permanent extensions and options) fastverse_reset() # Detaching  fastverse_detach()"},{"path":"/articles/fastverse_intro.html","id":"appendix-a-note-on-openmp-multithreading","dir":"Articles","previous_headings":"","what":"Appendix: A note on OpenMP Multithreading","title":"Introduction to the *fastverse*","text":"data.table, collapse kit support OpenMP multithreading platforms. Global defaults can set using data.table::setDTthreads(), collapse::set_collapse(nthreads = ...) options(kit.nThread = ...). Users careful running multithreaded collapse kit functions inside data.table. created small video tutorial collapse talk amongst things. Note also macOS, OpenMP disabled binaries installed CRAN. enable OpenMP macOS, users first need install OpenMP configuration. See instructions latest OpenMP releases. also compactly written terminal commands need run description tutorial. installing OpenMP configuring R-session, install packages source use r-universe binaries. easy way run fastverse_install(data.table, collapse, kit, .missing = FALSE, repos = .fastverse_repos).","code":""},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Sebastian Krantz. Author, maintainer. Hadley Wickham. Contributor.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Krantz S (2023). fastverse: Suite High-Performance Packages Statistics Data Manipulation. https://fastverse.github.io/fastverse/, https://fastverse.r-universe.dev/, https://github.com/fastverse.","code":"@Manual{,   title = {fastverse: A Suite of High-Performance Packages for Statistics and Data Manipulation},   author = {Sebastian Krantz},   year = {2023},   note = {https://fastverse.github.io/fastverse/, https://fastverse.r-universe.dev/, https://github.com/fastverse}, }"},{"path":"/index.html","id":"fastverse-","dir":"","previous_headings":"","what":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"fastverse suite complementary high-performance packages statistical computing data manipulation R. Developed independently various people, fastverse packages jointly contribute objectives : Speeding R heavy use compiled code (C, C++, Fortran) Enabling complex statistical data manipulation operations R Reducing number dependencies required advanced computing R fastverse package meta-package providing utilities easy installation, loading management packages. extensible framework allows users (permanently) add remove packages create ‘verse’ packages suiting general needs, even create separate ‘verses’ . fastverse packages jointly attached library(fastverse), several functions starting fastverse_ help manage dependencies, detect namespace conflicts, add/remove packages fastverse update packages. vignette provides concise overview package.","code":""},{"path":"/index.html","id":"core-packages","dir":"","previous_headings":"","what":"Core Packages","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"fastverse installs 4 core packages1 (5 dependencies total) provide broad C/C++ based statistical data manipulation functionality carefully managed APIs. data.table: Enhanced data frame class concise data manipulation framework offering powerful aggregation, flexible split-apply-combine computing, reshaping, (rolling) joins, rolling statistics, set operations tables, fast csv read/write, various utilities transposition data. collapse: Fast grouped weighted statistical computations, time series panel data transformations, list-processing, data manipulation functions, summary statistics various utilities support variable labels. Class-agnostic framework designed work vectors, matrices, data frames, lists related classes including xts, data.table, tibble, plm, sf. kit: Parallel (row-wise) statistical functions, vectorized nested switches, utilities efficient partial sorting. magrittr: Efficient pipe operators aliases enhanced R programming code un-nesting.","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"Note GitHub/r-universe version development version, development takes place ‘development’ branch.","code":"# Install the CRAN version install.packages(\"fastverse\")  # Install (Windows/Mac binaries) from R-universe install.packages(\"fastverse\", repos = \"https://fastverse.r-universe.dev\")  # Install from GitHub (requires compilation) remotes::install_github(\"fastverse/fastverse\")"},{"path":"/index.html","id":"extending-the-fastverse","dir":"","previous_headings":"","what":"Extending the fastverse","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"Users can, via fastverse_entend() function, freely attach extension packages. Setting permanent = TRUE adds packages core fastverse. Another option adding .fastverse config file packages project directory. Separate verses can created fastverse_child(). See vignette details.","code":""},{"path":"/index.html","id":"suggested-extensions","dir":"","previous_headings":"Extending the fastverse","what":"Suggested Extensions","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"High-performing packages different data manipulation statistical computing topics suggested .  total (recursive) dependency count indicated package.","code":""},{"path":"/index.html","id":"time-series","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Time Series","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"xts zoo: Fast reliable matrix-based time series classes providing fully identified ordered observations various utilities plotting computations (1 dependency). roll: Fast rolling expanding window functions vectors matrices (3 dependencies). Notes: xts/zoo objects preserved roll functions collapse’s time series data transformation functions2. xts/zoo objects matrices, matrixStats functions apply well. xts objects can also easily converted data.table, also fast rolling functions like frollmean frollapply.","code":""},{"path":"/index.html","id":"dates-and-times","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Dates and Times","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"lubridate: Facilitates ‘POSIX-’ ‘Date’ based computations (2 dependencies). anytime: Anything ‘POSIXct’ ‘Date’ converter (2 dependencies). fasttime: Fast parsing strings ‘POSIXct’ (0 dependencies). nanotime: Provides coherent set temporal types functions nanosecond precision - based ‘integer64’ class (7 dependencies). clock: Comprehensive library date-time manipulations using new family orthogonal date-time classes (durations, time points, zoned-times, calendars) (6 dependencies). timechange: Efficient manipulation date-times accounting time zones daylight saving times (1 dependency). Notes: Date time variables preserved many data.table collapse operations. data.table additionally offers efficient integer based date class ‘IDate’ supporting functionality. xts zoo also provide various functions transform dates, zoo provides classes ‘yearmon’ ‘yearqtr’ convenient computation monthly quarterly data. Package mondate also provides class ‘mondate’ monthly data.","code":""},{"path":"/index.html","id":"strings","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Strings","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"stringi: Main R package fast, correct, consistent, convenient string/text manipulation (backend stringr snakecase) (0 dependencies). stringr: Simple, consistent wrappers common string operations, based stringi (3 dependencies). snakecase: Convert strings case, based stringi stringr (4 dependencies). stringfish: Fast computation common (base R) string operations using ALTREP system (2 dependencies). stringdist: Fast computation string distance metrics, matrices, fuzzy matching (0 dependencies).","code":""},{"path":"/index.html","id":"statistics-and-computing","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Statistics and Computing","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"matrixStats: Efficient row-column-wise (weighted) statistics matrices vectors, including computations subsets rows columns (0 dependencies). Rfast Rfast2: Heterogeneous sets fast functions statistics, estimation data manipulation operating vectors matrices. Missing values object attributes (consistently) supported (4-5 dependencies). vctrs provides basic many basic programming functions R vectors (including lists data frames) implemented C (sorting, matching, replicating, unique values, concatenating, splitting etc. vectors). often significantly faster base R equivalents, generally aggressively optimized equivalent functions found collapse, kit, Rfast data.table (4 dependencies). parallelDist: Multi-threaded distance matrix computation (3 dependencies). coop: Fast implementations covariance, correlation, cosine similarity (0 dependencies). rsparse: Implements many algorithms statistical learning sparse matrices - matrix factorizations, matrix completion, elastic net regressions, factorization machines (8 dependencies). See also package MatrixExtra. fastmatrix provides small set functions written C Fortran providing fast computation matrices operations useful statistics (0 dependencies). matrixTests efficient execution multiple statistical hypothesis tests rows columns matrices (1 dependency). rrapply: rrapply() function extends base rapply() including condition predicate function application functions diverse options prune aggregate result (0 dependencies). dqrng: Fast uniform, normal exponential random numbers random sampling (.e. faster runif, rnorm, rexp, sample sample.int functions) (3 dependencies). fastmap: Fast implementation data structures based C++, including key-value store (fastmap), stack (faststack), queue (fastqueque) (0 dependencies). fastmatch: faster match() function (drop-replacement base::match, base::%%), keeps hash table memory much faster repeated lookups (0 dependencies). hutilscpp provides C++ implementations frequently used utility functions R (4 dependencies). Notes: Rfast number like-named functions matrixStats. simpler typically faster support multi-threading. highly efficient statistical functions can also found scattered across various packages, notable mention Hmisc (60 dependencies) DescTools (17 dependencies).","code":""},{"path":"/index.html","id":"spatial","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Spatial","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"sf: Leading framework geospatial computing manipulation R, offering simple flexible spatial data frame supporting functionality (12 dependencies). s2: Provides R bindings Google’s s2 C++ library high-performance geometric calculations sphere (3D, geographic/geodetic CRS). Used backend sf calculations geometries geographic/geodetic CRS, using s2 directly can provide substantial performance gains (2 dependencies). geos: Provides R API Open Source Geometry Engine (GEOS) C-library, can used efficiently manipulate planar (2D/flat/projected CRS) geometries, vector format efficiently store ‘GEOS’ geometries. Used backend sf calculations geometries projected CRS, using geos directly can provide substantial performance gains (2 dependencies). stars: Spatiotemporal data (raster vector) form dense arrays, space time array dimensions (16 dependencies). terra: Methods spatial data analysis raster vector data. Processing large (memory) files supported (1 dependency). dggridR: Provides discrete global grids R: allowing accurate partitioning earths surface equally sized grid cells different shapes sizes (37 dependencies). Notes: collapse can used efficient manipulation computations sf data frames. sf also offers tight integration dplyr.","code":""},{"path":"/index.html","id":"visualization","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Visualization","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"dygraphs: Interface ‘Dygraphs’ interactive time series charting library (12 dependencies). lattice: Trellis graphics R (0 dependencies). grid: grid graphics package (0 dependencies). ggplot2: Create elegant data visualizations using Grammar Graphics (27 dependencies). scales: Scale functions visualizations (11 dependencies). Notes: latticeExtra provides extra graphical utilities base lattice. gridExtra provides miscellaneous functions grid graphics (consequently ggplot2 based grid). gridtext provides improved text rendering support grid graphics. Many packages offer ggplot2 extensions, (typically starting ‘gg’) ggExtra, ggalt, ggforce, ggmap, ggtext, ggthemes, ggrepel, ggridges, ggfortify, ggstatsplot, ggeffects, ggsignif, GGally, ggcorrplot, ggdendro, etc.. Users desperate need greater performance may also find (unmaintained) lwplot package useful provides faster lighter version ggplot2 data.table backend.","code":""},{"path":"/index.html","id":"tidyverse-like-data-manipulation-built-on-datatable","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Tidyverse-like Data Manipulation built on data.table","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"tidytable: tidy interface data.table rlang compatible. Quite comprehensive implementation dplyr, tidyr purr functions. Package uses class tidytable inherits data.table. dt() function makes data.table syntax pipeable (12 total dependencies). dtplyr: tidy interface data.table built around lazy evaluation .e. users need call .data.table(), .data.frame() as_tibble() access results. Lazy evaluation holds potential generating performant data.table code (20 dependencies). tidyfst: Tidy verbs fast data manipulation. Covers dplyr tidyr functionality. Functions _dt suffix preserve data.table object. cheatsheet provided (7 dependencies). tidyft: Tidy verbs fast data operations reference. Best big data manipulation memory data using facilities provided fst (7 dependencies). tidyfast: Fast tidying data. Covers tidyr functionality, dt_ prefix, preserves data.table object (2 dependencies). maditr: Fast data aggregation, modification, filtering pipes data.table. Minimal implementation functions let() take() common data manipulation tasks. Also provides Excel-like lookup functions (2 dependencies). table.express also o builds data.table expressions dplyr verbs, without executing eagerly. Similar dtplyr less mature (17 dependencies).","code":""},{"path":"/index.html","id":"data-manipulation-in-r-based-on-faster-languages","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Data Manipulation in R Based on Faster Languages","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"r-polars provides R-port impressively fast polars DataFrame’s library written Rust (1 dependencies).","code":""},{"path":"/index.html","id":"r-like-data-manipulation-in-faster-languages","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"R-like Data Manipulation in Faster Languages","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"tidypolars python library built top polars gives access methods functions familiar R tidyverse users. Tidier.jl provides Julia implementation tidyverse mini-language Julia. Powered DataFrames.jl library.","code":""},{"path":"/index.html","id":"data-input-output-serialization-and-larger-than-memory-processing-io","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Data Input-Output, Serialization, and Larger-Than-Memory Processing (IO)","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"fst: compressed data file format fast read write. Full random access rows columns allows reading subsets ‘.fst’ file (2 dependencies). qs provides lightning-fast complete replacement saveRDS readRDS functions R. supports general R objects attributes references - similar speeds fst - provide -disk random access data subsets like fst (4 dependencies). arrow provides low-level interface Apache Arrow C++ library (multi-language toolbox accelerated data interchange -memory processing) including fast reading / writing delimited files, efficient storage data .parquet .feather files, efficient (lazy) queries computations, sharing data R Python (14 dependencies). provides methods several dplyr functions allowing highly efficient data manipulation arrow datasets. Check useR2022 workshop working larger memory data apache arrow R, apache arrow R cookbook well awesome-arrow-r repository. duckdb: DuckDB high-performance analytical database system can used -memory -memory data (including csv, .parquet files, arrow datasets, ’s .duckdb format), provides rich SQL dialect optimized query execution data analysis (1 dependency). can also used dbplyr package translates dplyr code SQL. Article Christophe Nicault (October 2022) demonstrates integration duckdb R arrow. Also see official docs. vroom provides fast reading delimited files (23 dependencies). Notes: data.table provides fread fwrite fast reading delimited files.","code":""},{"path":"/index.html","id":"compiling-r","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Compiling R","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"nCompiler: Compiles R functions C++, covers basic math, distributions, vectorized math linear algebra, well basic control flow. R Compiled C++ functions can also jointly utilized class ‘nClass’ inherits R6. -progress user-manual provides overview package. ast2ast: Also compiles R functions C++, straightforward use (single function translate() compile R functions), less flexible nCompiler (e.g. currently support linear algebra). Available CRAN (6 dependencies). odin: Implements R C translation compilation, specialized differential equation solving problems. Available CRAN (8 dependencies). armacmp translates linear algebra code written R C++ using Armadillo Template Library. package can also used write mathematical optimization routines translated optimized C++ using RcppEnsmallen. r2c provides compilation R functions applied many groups (e.g. grouped bivariate linear regression etc.). FastR high-performance implementation entire R programming language, can JIT compile R code run Graal VM. inline allows users write C, C++ Fortran functions compile directly R function use within R session. Available CRAN (0 dependencies). Notes: Many projects experimental available CRAN packages.","code":""},{"path":"/index.html","id":"r-bindings-to-faster-languages","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"R Bindings to Faster Languages","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"R’s C API natural way extend R require additional packages. documented Writing R Extensions Manual, R Internals Manual, r-internals repository sometimes referred R Blog (Blogs web). Users willing extend R way familiarize R’s garbage collection PROTECT Errors. Rcpp provides seamless R C++ integration, widely used extend R C++. Compared C API compile time slower object files larger, users don’t need worry garbage collection can use modern C++ well rich set R-flavored functions classes (0 dependencies). cpp11 provides simpler, header-R binding C++ allows faster compile times several enhancements (0 dependencies). tidyCpp provides tidy C++ wrapping C API R - make C API amenable C++ programmers (0 dependencies). JuliaCall Provides R interface Julia programming language (11 dependencies). interfaces provided XRJulia (2 dependencies) JuliaConnectoR (0 dependencies). rextendr provides R interface Rust programming language (29 dependencies). rJava provides R interface Java (0 dependencies). Notes: many Rcpp extension packages binding R powerful C++ libraries, linear algebra RcppArmadillo RcppEigen, thread-safe parallelism RcppParallel etc.","code":""},{"path":"/index.html","id":"parallelization-high-performance-computing-and-out-of-memory-data","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Parallelization, High-Performance Computing and Out-Of-Memory Data","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"See High-Performance Parallel Computing Task View futureverse.","code":""},{"path":"/index.html","id":"adding-to-this-list","dir":"","previous_headings":"Extending the fastverse > Suggested Extensions","what":"Adding to this list","title":"An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R","text":"Please notify packages think included . packages well designed, top-performing, low-dependency, , exceptions, provide compiled code. Please note fastverse focuses general purpose statistical computing data manipulation, thus won’t include fast packages estimate specific kinds models (R also great many).","code":""},{"path":"/reference/fastverse-package.html","id":null,"dir":"Reference","previous_headings":"","what":"The fastverse — fastverse-package","title":"The fastverse — fastverse-package","text":"fastverse extensible suite R packages, developed independently various people, jointly contribute objectives : Speeding R heavy use compiled code (C, C++, Fortran) Enabling complex statistical data manipulation operations R Reducing number dependencies required advanced computing R Inspired tidyverse package, fastverse package flexible package loader manager  allows users put together 'verses' packages load library(fastverse). fastverse installs 4 core packages (data.table, collapse, kit magrittr)  provide native C/C++ code proven quality, work well together, enable complex statistical computing data manipulation - Rcpp additional dependency. fastverse also allows users freely (permanently) extend reduce number packages fastverse.  overview high-performing packages various common tasks provided README file.  overview package different ways extend fastverse provided vignette.","code":""},{"path":"/reference/fastverse-package.html","id":"functions-in-the-fastverse-package","dir":"Reference","previous_headings":"","what":"Functions in the fastverse Package","title":"The fastverse — fastverse-package","text":"Functions extend reduce number packages fastverse - either session permanently - restore defaults. fastverse_extend()fastverse_detach()fastverse_reset() Function display conflicts fastverse packages (attached packages) fastverse_conflicts() Function update fastverse packages (dependencies) install (missing) packages fastverse_update()fastverse_install() Utilities retrieve names fastverse packages (dependencies), update status, produce situation report fastverse_packages()fastverse_deps()fastverse_sitrep() Function create fully separate extensible meta-package/verse like fastverse fastverse_child()","code":""},{"path":"/reference/fastverse-package.html","id":"fastverse-options","dir":"Reference","previous_headings":"","what":"fastverse Options","title":"The fastverse — fastverse-package","text":"options(fastverse.quiet = TRUE) disable automatic messages (including conflict reporting) calling library(fastvsers), fastverse_extend, fastverse_update(install = TRUE) fastverse_install. options(fastverse.styling = FALSE) disable styling applied text printed console. options(fastverse.extend = c(...)) can set calling library(fastvsers) extend fastverse packages session. can done fastverse_extend function library(fastvsers), also populate options(\"fastverse.extend\"). options(fastverse.install = TRUE) can set library(fastverse) install missing packages beforehand. See also fastverse_install.","code":""},{"path":"/reference/fastverse-package.html","id":"fastverse-harmonizations","dir":"Reference","previous_headings":"","what":"fastverse Harmonizations","title":"The fastverse — fastverse-package","text":"3 internal clashes collapse::funique kit::funique, collapse::fduplicated kit::fduplicated, collapse::fdroplevels data.table::fdroplevels. collapse versions take precedence cases provide greater performance.","code":""},{"path":"/reference/fastverse_child.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a new (descendant) verse of packages — fastverse_child","title":"Create a new (descendant) verse of packages — fastverse_child","text":"Creates installs fully customizable descendant verse packages extensible inherits 90% functionality fastverse package.","code":""},{"path":"/reference/fastverse_child.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a new (descendant) verse of packages — fastverse_child","text":"","code":"fastverse_child(   name,   title,   pkg,   maintainer,   version = \"0.1.0\",   dir = \".\",   theme = c(\"fastverse\", \"tidyverse\"),   install = TRUE,   keep.dir = TRUE,   ... )"},{"path":"/reference/fastverse_child.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a new (descendant) verse of packages — fastverse_child","text":"name character. name child-verse e.g. 'myMLverse'. title character. title child-verse e.g. 'Machine Learning Verse'. pkg character. vector core packages new verse. maintainer character. quoted person statement giving package maintainer.  intend substantially modify code resulting source package, role = \"cre\" appropriate. See Examples. version character. quoted version number new package. dir character. directory source directory dir/name package created. theme character. Set colour-theme text printed console. options \"fastverse\" \"tidyverse\". install logical. TRUE installs package using install.packages(dir/name, repos = NULL, type = \"source\", ...). keep.dir logical. FALSE remove source directory (dir/name) installation. ... arguments install.packages.","code":""},{"path":"/reference/fastverse_child.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create a new (descendant) verse of packages — fastverse_child","text":"fastverse_child returns NULL invisibly.","code":""},{"path":"/reference/fastverse_child.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a new (descendant) verse of packages — fastverse_child","text":"function creates installs source package according users specification.  downloads 'child' branch GitHub repository,  specifically set produce new verse, unzips source directory, substitutes user inputs files.  package installed source, (optionally) source directory removed . fastverse children inherit 90% functionality fastverse package: permanently globally extensible can bear children ,  can configured projects (using .name config file) extended session. Use function requires internet connection additional R packages (like devtools, remotes roxygen2).","code":""},{"path":[]},{"path":"/reference/fastverse_child.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a new (descendant) verse of packages — fastverse_child","text":"","code":"if (FALSE) {  fastverse_child(   name = \"tsverse\",    title = \"Time Series Package Verse\",    pkg = c(\"xts\", \"roll\", \"zoo\", \"tsbox\", \"urca\", \"tseries\", \"tsutils\", \"forecast\"),    maintainer = 'person(\"GivenName\", \"FamilyName\", role = \"cre\", email = \"your@email.com\")',   dir = \"C:/Users/.../Documents\",    theme = \"tidyverse\") }"},{"path":"/reference/fastverse_conflicts.html","id":null,"dir":"Reference","previous_headings":"","what":"Conflicts between the fastverse and other packages — fastverse_conflicts","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"function lists conflicts among fastverse packages fastverse packages attached packages. can also used check conflicts attached packages.","code":""},{"path":"/reference/fastverse_conflicts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"","code":"fastverse_conflicts(pkg = fastverse_packages())"},{"path":"/reference/fastverse_conflicts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"pkg character. vector packages check conflicts . default fastverse packages.","code":""},{"path":"/reference/fastverse_conflicts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"object class 'fastverse_conflicts': named list character vectors names conflicted objects,  content names package namespaces containing object, order appear search path.","code":""},{"path":"/reference/fastverse_conflicts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"3 internal conflicts core fastverse displayed fastverse_conflicts(): collapse::funique collapse::fdupliacted mask kit::funique kit::fduplicated. packages detached, collapse attached kit. general,  collapse versions faster bit versatile. kit versions also fast additionally supports matrices! collapse::fdroplevels masks data.table::fdroplevels. former faster supports arbitrary data structures, whereas latter options exclude certain levels dropped.","code":""},{"path":[]},{"path":"/reference/fastverse_conflicts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Conflicts between the fastverse and other packages — fastverse_conflicts","text":"","code":"# Check conflicts between fastverse packages and all attached packages fastverse_conflicts()  # Check conflicts among all attached packages fastverse_conflicts(rm_stub(search()[-1], \"package:\")) #> -- Conflicts ------------------------------------------ fastverse_conflicts() -- #> x methods::body<-()    masks base::body<-() #> x methods::kronecker() masks base::kronecker()"},{"path":"/reference/fastverse_deps.html","id":null,"dir":"Reference","previous_headings":"","what":"List all fastverse dependencies — fastverse_deps","title":"List all fastverse dependencies — fastverse_deps","text":"Lists fastverse dependencies local repository (e.g. CRAN) versions packages dependencies.","code":""},{"path":"/reference/fastverse_deps.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List all fastverse dependencies — fastverse_deps","text":"","code":"fastverse_deps(   pkg = fastverse_packages(),   recursive = FALSE,   repos = getOption(\"repos\"),   include.self = FALSE,   check.deps = TRUE )"},{"path":"/reference/fastverse_deps.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List all fastverse dependencies — fastverse_deps","text":"pkg character vector packages check dependencies versions . default fastverse packages. recursive logical. TRUE recursively determines packages required operate packages. FALSE list packages direct dependencies. repos character vector. Base URL(s) repositories use, e.g., URL CRAN mirror \"https://cloud.r-project.org\".  macro .fastverse_repos contains URL fastverse r-universe server check/install development version packages. include.self logical. TRUE also includes fastverse package checks repository version. check.deps logical. FALSE determine dependencies display update status packages pkg.","code":""},{"path":"/reference/fastverse_deps.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List all fastverse dependencies — fastverse_deps","text":"data frame giving package names, repository local version, logical variable stating whether local version behind repository version.","code":""},{"path":[]},{"path":"/reference/fastverse_detach.html","id":null,"dir":"Reference","previous_headings":"","what":"Detach (fastverse) packages — fastverse_detach","title":"Detach (fastverse) packages — fastverse_detach","text":"Detaches (fastverse) packages, removing search path.","code":""},{"path":"/reference/fastverse_detach.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Detach (fastverse) packages — fastverse_detach","text":"","code":"fastverse_detach(   ...,   unload = FALSE,   force = FALSE,   include.self = TRUE,   session = FALSE,   permanent = FALSE )"},{"path":"/reference/fastverse_detach.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Detach (fastverse) packages — fastverse_detach","text":"... comma-separated package names, quoted unquoted, vectors package names. left empty, packages returned fastverse_packages detached. unload logical. TRUE also unloads packages using detach(name, unload = TRUE). force logical. fastverse package detached / unloaded even though attached packages depend ? include.self logical. TRUE also includes fastverse package - applicable ... left empty. session logical. TRUE also removes packages options(\"fastverse.extend\"), attached library(fastverse) current session. ... left empty include.self = TRUE, clear fastverse options set session. permanent logical. ... used detach certain packages, permament = TRUE disable loaded next time fastverse loaded.  implemented via config file saved package directory. Core fastverse packages can also detached way. add package use extend_fastverse(..., permanent = TRUE). config file can removed fastverse_reset.","code":""},{"path":"/reference/fastverse_detach.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Detach (fastverse) packages — fastverse_detach","text":"fastverse_detach returns NULL invisibly.","code":""},{"path":[]},{"path":"/reference/fastverse_extend.html","id":null,"dir":"Reference","previous_headings":"","what":"Extend the fastverse — fastverse_extend","title":"Extend the fastverse — fastverse_extend","text":"Loads additional packages part fastverse. default session, extensions can saved reinstallation/updating fastverse package.","code":""},{"path":"/reference/fastverse_extend.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extend the fastverse — fastverse_extend","text":"","code":"fastverse_extend(   ...,   install = FALSE,   permanent = FALSE,   check.conflicts = !isTRUE(getOption(\"fastverse.quiet\")),   topics = NULL,   repos = getOption(\"repos\") )"},{"path":"/reference/fastverse_extend.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extend the fastverse — fastverse_extend","text":"... comma-separated package names, quoted unquoted, vectors package names. install logical. Install packages available? permanent logical. packages saved included library(fastverse) called next time? Implemented via config file saved package directory. file removed fastverse reinstalled, can removed without reinstallation using fastverse_reset. Packages can removed config file using fastverse_detach(..., permanent = TRUE). check.conflicts logical. conflicts extension packages attached packages checked? topics depreciated argument used bulk-attach install suggested extension packages prior v0.3.0. repos character vector. Base URL(s) repositories use, e.g., URL CRAN mirror \"https://cloud.r-project.org\".  macro .fastverse_repos contains URL fastverse r-universe server check/install development version packages.","code":""},{"path":"/reference/fastverse_extend.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extend the fastverse — fastverse_extend","text":"fastverse_extend returns NULL invisibly.","code":""},{"path":"/reference/fastverse_extend.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Extend the fastverse — fastverse_extend","text":"fastverse can extended using free choice packages. overview high-performing packages various tasks provided README file. fastverse extended calling fastverse_extend(...), packages attached attached, conflicts checked specified packages.  permanent = FALSE, options(\"fastverse.extend\") set stores extension packages, regardless whether already attached . calling  fastverse_packages, fastverse_deps, fastverse_conflicts, fastverse_update, fastverse_sitrep fastverse_detach, packages included part fastverse.  also case permanent = TRUE, difference instead populating option, file saved package directory packages also loaded (part core fastverse) calling library(fastverse) next session. extend fastverse current session yet loaded, users can also set options(fastverse.extend = c(...)), c(...) character vector package names, calling library(fastverse).","code":""},{"path":[]},{"path":"/reference/fastverse_extend.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Extend the fastverse — fastverse_extend","text":"","code":"# \\donttest{ ex <- getOption(\"fastverse.extend\") fastverse_extend(xts, stringi, fasttime) #> -- Attaching extension packages ----------------------------- fastverse 0.3.2 -- #> v xts      0.13.1     v fasttime 1.1.0  #> v stringi  1.7.12      #> -- Conflicts ------------------------------------------ fastverse_conflicts() -- #> x xts::first() masks data.table::first() #> x xts::last()  masks data.table::last()  # Undoing this again fastverse_detach(setdiff(getOption(\"fastverse.extend\"), ex), session = TRUE) rm(ex) # }"},{"path":"/reference/fastverse_install.html","id":null,"dir":"Reference","previous_headings":"","what":"Install (missing) fastverse packages — fastverse_install","title":"Install (missing) fastverse packages — fastverse_install","text":"function (default) checks fastverse package missing installs missing package(s). development versions fastverse packages can also installed r-universe. link repository contained .fastverse_repos macro.","code":""},{"path":"/reference/fastverse_install.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install (missing) fastverse packages — fastverse_install","text":"","code":"fastverse_install(   ...,   only.missing = TRUE,   install = TRUE,   repos = getOption(\"repos\") )"},{"path":"/reference/fastverse_install.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install (missing) fastverse packages — fastverse_install","text":"... comma-separated package names, quoted unquoted, vectors package names. left empty, packages returned fastverse_packages checked. .missing logical. TRUE installs packages unavailable. FALSE installs packages, even available. install logical. TRUE proceed install packages, whereas FALSE (recommended) print installation command asking run clean R session. repos character vector. Base URL(s) repositories use, e.g., URL CRAN mirror \"https://cloud.r-project.org\".  macro .fastverse_repos contains URL fastverse r-universe server check/install development version packages.","code":""},{"path":"/reference/fastverse_install.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Install (missing) fastverse packages — fastverse_install","text":"fastverse_install returns NULL invisibly.","code":""},{"path":"/reference/fastverse_install.html","id":"note","dir":"Reference","previous_headings":"","what":"Note","title":"Install (missing) fastverse packages — fastverse_install","text":"also possibility set options(fastverse.install = TRUE) library(fastverse), call fastverse_install() loading packages make sure packages available. using .fastverse configuration file inside project (see vignette), can also place _opt_fastverse.install = TRUE list packages file.","code":""},{"path":[]},{"path":"/reference/fastverse_packages.html","id":null,"dir":"Reference","previous_headings":"","what":"List all packages in the fastverse — fastverse_packages","title":"List all packages in the fastverse — fastverse_packages","text":"Core packages first fetched project-level configuration file (found), else global configuration file (found),  otherwise standard set core packages returned. addition, extensions = TRUE, packages used extend fastverse current  session (fetched getOption(\"fastverse.extend\")) also returned.","code":""},{"path":"/reference/fastverse_packages.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List all packages in the fastverse — fastverse_packages","text":"","code":"fastverse_packages(extensions = TRUE, include.self = TRUE)"},{"path":"/reference/fastverse_packages.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List all packages in the fastverse — fastverse_packages","text":"extensions logical. TRUE appends set core packages packages found options(\"fastverse.extend\"). include.self logical. Include fastverse package list?","code":""},{"path":"/reference/fastverse_packages.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List all packages in the fastverse — fastverse_packages","text":"character vector package names.","code":""},{"path":[]},{"path":"/reference/fastverse_packages.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List all packages in the fastverse — fastverse_packages","text":"","code":"fastverse_packages() #> [1] \"data.table\" \"magrittr\"   \"kit\"        \"collapse\"   \"fastverse\""},{"path":"/reference/fastverse_reset.html","id":null,"dir":"Reference","previous_headings":"","what":"Reset the fastverse to defaults — fastverse_reset","title":"Reset the fastverse to defaults — fastverse_reset","text":"Calling function remove global configuration files (default) clear package options.  Attached packages detached, configuration files projects (discussed vignette) removed.","code":""},{"path":"/reference/fastverse_reset.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Reset the fastverse to defaults — fastverse_reset","text":"","code":"fastverse_reset(options = TRUE)"},{"path":"/reference/fastverse_reset.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Reset the fastverse to defaults — fastverse_reset","text":"options logical. TRUE also clears fastverse options.","code":""},{"path":"/reference/fastverse_reset.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Reset the fastverse to defaults — fastverse_reset","text":"fastverse_reset returns NULL invisibly.","code":""},{"path":[]},{"path":"/reference/fastverse_sitrep.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a situation report on the fastverse — fastverse_sitrep","title":"Get a situation report on the fastverse — fastverse_sitrep","text":"function gives quick overview version R  fastverse packages (including availability updates packages) indicates  whether global project-level configuration files used (described detail vignette).","code":""},{"path":"/reference/fastverse_sitrep.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a situation report on the fastverse — fastverse_sitrep","text":"","code":"fastverse_sitrep(...)"},{"path":"/reference/fastverse_sitrep.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a situation report on the fastverse — fastverse_sitrep","text":"... arguments pkg passed fastverse_deps.","code":""},{"path":"/reference/fastverse_sitrep.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a situation report on the fastverse — fastverse_sitrep","text":"fastverse_sitrep returns NULL invisibly.","code":""},{"path":[]},{"path":"/reference/fastverse_update.html","id":null,"dir":"Reference","previous_headings":"","what":"Update fastverse packages — fastverse_update","title":"Update fastverse packages — fastverse_update","text":"check fastverse packages (dependencies) updates (optionally) install updates.","code":""},{"path":"/reference/fastverse_update.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Update fastverse packages — fastverse_update","text":"","code":"fastverse_update(..., install = FALSE, repos = getOption(\"repos\"))"},{"path":"/reference/fastverse_update.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Update fastverse packages — fastverse_update","text":"... arguments passed fastverse_deps. install logical. TRUE proceed install outdated packages, whereas FALSE (recommended) print installation command asking run clean R session. repos character vector. Base URL(s) repositories use, e.g., URL CRAN mirror \"https://cloud.r-project.org\".  macro .fastverse_repos contains URL fastverse r-universe server check/install development version packages.","code":""},{"path":"/reference/fastverse_update.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Update fastverse packages — fastverse_update","text":"fastverse_update returns NULL invisibly.","code":""},{"path":[]},{"path":"/reference/fastverse_update.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Update fastverse packages — fastverse_update","text":"","code":"if (FALSE) { ## Update from CRAN fastverse_update()  ## Update from R-Universe (development versions) fastverse_update(repos = .fastverse_repos) }"},{"path":"/reference/is_attached.html","id":null,"dir":"Reference","previous_headings":"","what":"Utilities — is_attached","title":"Utilities — is_attached","text":"Checks packages installed attached.","code":""},{"path":"/reference/is_attached.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Utilities — is_attached","text":"","code":"is_attached(x)  is_installed(x)"},{"path":"/reference/is_attached.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Utilities — is_attached","text":"x character. vector package names.","code":""},{"path":"/reference/is_attached.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Utilities — is_attached","text":"named logical vector.","code":""},{"path":"/news/index.html","id":"fastverse-032","dir":"Changelog","previous_headings":"","what":"fastverse 0.3.2","title":"fastverse 0.3.2","text":"following CRAN suggestion, fastverse.Rd page renamed fastverse-package.Rd, 'fastverse' alias. fastverse_deps() (fastverse_update(), fastverse_sitrep()) ignore dependencies available CRAN (issuing warning).","code":""},{"path":"/news/index.html","id":"fastverse-031","dir":"Changelog","previous_headings":"","what":"fastverse 0.3.1","title":"fastverse 0.3.1","text":"CRAN release: 2023-01-29 Hides another core fastverse conflict new function collapse::fduplicated() kit::fduplicated(). conflict solved favor new collapse version, faster can also indicate occurrences duplicated values. kit::fduplicated() hand can determine duplicates starting last value, also supports matrices.","code":""},{"path":"/news/index.html","id":"fastverse-030","dir":"Changelog","previous_headings":"","what":"fastverse 0.3.0","title":"fastverse 0.3.0","text":"CRAN release: 2022-11-15 Packages matrixStats fst removed core set packages following poll Twitter 50% respondents voted favor. makes fastverse package lighter focused core data manipulation tasks. Users many options keep original extent fastverse, (1) calling fastverse_extend(matrixStats, fst, permanent = TRUE) following update, (2) calling fastverse_extend(matrixStats, fst) right library(fastverse), (3) placing .fastverse configuration file matrixStats, fst project directory, (4) setting options(fastverse.extend = c(\"matrixStats\", \"fst\")) .Rprofile file. See vignette details. GitHub R-universe versions fastverse retain capability correct functions matrixStats make preserve dimension names default, whenever matrixStats added extension. CRAN version allow feature. global variable .fastverse_repos added containing repository URLs fastverse r-universe, alongside additional repos arguments functions fastverse_deps(), fastverse_extend(), fastverse_install(), fastverse_update() fastverse_sitrep(). allows users easily install binaries development versions (early GitHub releases) fastverse packages (core suggested extensions) using e.g. fastverse_update(repos = .fastverse_repos). internal clash arising new fdroplevels() function introduced data.table 1.14.5 existing function fdroplevels() introduced collapse 1.4.0 (November 2020) resolved favor latter, tested faster, supports factors arbitrary list-based objects (including data.table’s). data.table::fdroplevels() factors, data.table introduced method droplevels.data.table handle data.table’s. function method however additional arguments allowing user exclude certain unused levels dropped (line base R), missing collapse versions. Thus nothing changes fastverse users using collapse::fdroplevels() thus far, droplevels.data.table continue work. Function fastvverse_install() prints message \"fastverse packages installed\" fastverse packages installed, unless options(fastverse.quiet = TRUE) set. also option set _opt_fastverse.install = TRUE .fastverse configuration file, options(fastverse.install = TRUE) .Rprofile file, calling library(fastverse) install missing packages calling fastvverse_install() attempting load packages. however also displayed message \"fastverse packages installed\", undesirable. whenever options(fastverse.install = TRUE) set, call fastvverse_install() print anything packages available. New packages 2 new topics: ‘Compiling R’ ‘R Bindings Faster Languages’ added Suggested Extensions list. lieu topics argument fastverse_extend() depreciated, hard coding many suggested packages package source code impractical. Please feel free suggest packages list, becomes valuable resource everyone interested high-performance R.","code":""},{"path":"/news/index.html","id":"fastverse-024","dir":"Changelog","previous_headings":"","what":"fastverse 0.2.4","title":"fastverse 0.2.4","text":"CRAN release: 2022-05-31 Binaries core fastverse packages (others, including fastverse package ) can now installed newly created fastverse r-universe. ensures Windows Mac binaries development versions packages always available, independent CRAN status. binaries can installed using install.packages(\"fastverse\", repos = \"https://fastverse.r-universe.dev/\"). Adding geos dqrng, fastmap fastmatch suggested list (thanks also Grant McDermott Alexander Fisher suggesting).","code":""},{"path":"/news/index.html","id":"fastverse-023","dir":"Changelog","previous_headings":"","what":"fastverse 0.2.3","title":"fastverse 0.2.3","text":"CRAN release: 2022-02-17 Added options(fastverse.install = TRUE) can set library(fastverse), triggering internal call fastverse_install() - make sure missing packages installed loading . .fastverse configuration file placed inside project directory, can also place _opt_fastverse.install = TRUE packages list.","code":""},{"path":"/news/index.html","id":"fastverse-022","dir":"Changelog","previous_headings":"","what":"fastverse 0.2.2","title":"fastverse 0.2.2","text":"CRAN release: 2022-02-16 Added possibility set global options environment variables project configuration files. See Vignette details. Added new packages suggested packages list: rrapply, MatrixExtra rsparse. Package import helper functions collapse anymore, hard detaching fastverse_detach(unload = TRUE) possible collapse well.","code":""},{"path":"/news/index.html","id":"fastverse-021","dir":"Changelog","previous_headings":"","what":"fastverse 0.2.1","title":"fastverse 0.2.1","text":"CRAN release: 2021-09-02 Remove invalid URL lifecycle badge (package now considered stable).","code":""},{"path":"/news/index.html","id":"fastverse-020","dir":"Changelog","previous_headings":"","what":"fastverse 0.2.0","title":"fastverse 0.2.0","text":"Making sure files written disc CRAN servers. fastverse_update() additional argument install. default install = FALSE, just print installation command , asking run clean R session, whereas install = TRUE instead execute command. Added function fastverse_install() check package availability install missing fastverse packages calling library(fastverse). Useful especially custom fastverse configurations (inside projects) safeguard availability packages. Added function fastverse_child() (following request), allows users create wholly different package-verse like fastverse - different name different core packages. fastverse children inherit 90% functionality fastverse package (e.g. permanently globally extensible, can configured projects extended session). Childbearing requires internet connection additional packages (like devtools). Export utility functions is_installed is_attached check packages installed / attached. Several additions suggested extensions list: qs, arrow, stringdist, stringfish, nanotime.","code":""},{"path":"/news/index.html","id":"fastverse-018","dir":"Changelog","previous_headings":"","what":"fastverse 0.1.8","title":"fastverse 0.1.8","text":"CRAN release: 2021-08-12 CRAN required place return values fastverse_extend() fastverse_detach() - return anything.","code":""},{"path":"/news/index.html","id":"fastverse-017","dir":"Changelog","previous_headings":"","what":"fastverse 0.1.7","title":"fastverse 0.1.7","text":"Implementing various CRAN comments 0.1.6 (small things), setting synchronous development CRAN GitHub version ‘development’ branch can merged . Pull requests sent ‘development’ branch.","code":""},{"path":"/news/index.html","id":"fastverse-016","dir":"Changelog","previous_headings":"","what":"fastverse 0.1.6","title":"fastverse 0.1.6","text":"CRAN rejected 0.1.5, made sure matrixStats handles attributes consistently whenever fastverse attached, CRAN packages allowed modify namespace packages. Thus 0.1.6 comes two versions: CRAN version takes matrixStats , GitHub version original 0.1.5. User value consistent matrixStats preserves dimension names functions recommended GitHub version.","code":""},{"path":"/news/index.html","id":"fastverse-015","dir":"Changelog","previous_headings":"","what":"fastverse 0.1.5","title":"fastverse 0.1.5","text":"First fastverse CRAN submission 7th August 2021. Development started Spring 2021.","code":""}]
