Package: hutilscpp 0.10.7

Hugh Parsonage

hutilscpp: 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'.

Authors:Hugh Parsonage [aut, cre], Simon Urbanek [ctb]

hutilscpp_0.10.7.tar.gz
hutilscpp_0.10.7.zip(r-4.5)hutilscpp_0.10.7.zip(r-4.4)hutilscpp_0.10.7.zip(r-4.3)
hutilscpp_0.10.7.tgz(r-4.4-x86_64)hutilscpp_0.10.7.tgz(r-4.4-arm64)hutilscpp_0.10.7.tgz(r-4.3-x86_64)hutilscpp_0.10.7.tgz(r-4.3-arm64)
hutilscpp_0.10.7.tar.gz(r-4.5-noble)hutilscpp_0.10.7.tar.gz(r-4.4-noble)
hutilscpp_0.10.7.tgz(r-4.4-emscripten)hutilscpp_0.10.7.tgz(r-4.3-emscripten)
hutilscpp.pdf |hutilscpp.html
hutilscpp/json (API)
NEWS

# Install 'hutilscpp' in R:
install.packages('hutilscpp', repos = c('https://fastverse.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/hughparsonage/hutilscpp/issues

Uses libs:
  • openmp– GCC OpenMP (GOMP) support library

On CRAN:hutilscpp-0.10.7(2025-01-08)

openmp

6.53 score 10 stars 2 packages 115 scripts 2.0k downloads 61 exports 4 dependencies

Last updated 16 days agofrom:d18625b9ba. Checks:9 OK. Indexed: no.

TargetResultLatest binary
Doc / VignettesOKDec 27 2024
R-4.5-win-x86_64OKDec 27 2024
R-4.5-linux-x86_64OKDec 27 2024
R-4.4-win-x86_64OKDec 27 2024
R-4.4-mac-x86_64OKDec 27 2024
R-4.4-mac-aarch64OKDec 27 2024
R-4.3-win-x86_64OKDec 27 2024
R-4.3-mac-x86_64OKDec 27 2024
R-4.3-mac-aarch64OKDec 27 2024

Exports:abs_diffallNAand3and3sanyOutsideare_evenas_integer_if_safebench_system_timecharacter2integercoalesce0COALESCE0Commacount_logicalcumsum_resetdiamdivisibledivisible16divisible2every_intfinpfmatchpfnotinphelperImpliesis_constantis_sortedisntConstantisntSortedmatch_nrst_haversinemax_abs_diffminmaxModeCor3or3spmax0pmax3pmaxCpmaxVpmin0pmin3pminCpminVpoleInaccessibility2poleInaccessibility3range_rcppsquishsum_and3ssum_isnasum_or3sthinnerunique_fmatchuniqueN_fmatchwhich_are_evenwhich_firstwhich_firstNAwhich_lastwhich_lastNAwhich_true_onwardswhich3whichsxor2

Dependencies:data.tablefastmatchhutilsmagrittr

Citation

To cite package ‘hutilscpp’ in publications use:

Parsonage H (2024). hutilscpp: Miscellaneous Functions in C++. R package version 0.10.7, https://github.com/hughparsonage/hutilscpp.

Corresponding BibTeX entry:

  @Manual{,
    title = {hutilscpp: Miscellaneous Functions in C++},
    author = {Hugh Parsonage},
    year = {2024},
    note = {R package version 0.10.7},
    url = {https://github.com/hughparsonage/hutilscpp},
  }

Readme and manuals

hutilscpp

Under development

Highlights

This package is designed to accompany data in the order of 100M rows. For the sake of example, we will be using the gdata (1979-2013) file.

http://data.gdeltproject.org/events/index.html

Help Manual

Help pageTopics
Absolute differenceabs_diff max_abs_diff
Is a vector empty?allNA
Are any values outside the interval specified?anyOutside
Are elements of a vector even?are_even which_are_even
Coerce from double to integer if safeas_integer_if_safe
Evaluate time of computationbench_system_time
Character to numericcharacter2integer
Convenience function for coalescing to zeroCOALESCE0 coalesce0
Faster version of 'scales::comma'Comma
Count logicalscount_logical
Cumulative sum unless resetcumsum_reset
What is the diameter of set of points?diam thinner
Divisibilitydivisible divisible16 divisible2
Every integerevery_int
Parallel fastmatchingfinp fmatchp fnotinp
Helperhelper
ImpliesImplies
Is a vector constant?isntConstant is_constant
Is a vector sorted?isntSorted is_sorted
Vectorized logical with support for short-circuitsand3 logical3 or3
Complex logical expressionsand3s logical3s or3s
Match coordinates to nearest coordinatesmatch_nrst_haversine
Minimum and maximumminmax
Most common elementModeC
Parallel maximum/minimumpmax0 pmax3 pmaxC pmaxV pmin0 pmin3 pminC pminV
Find a binary pole of inaccessibilitypoleInaccessibility poleInaccessibility2 poleInaccessibility3
Range C++range_rcpp
Squish into a rangesquish
Sum of logical expressionssum_and3s sum_or3s
Number of missing valuessum_isna
Distinct elementsuniqueN_fmatch unique_fmatch
Where does a logical expression first return 'TRUE'?which_first which_last
First/last position of missing valueswhich_firstNA which_lastNA
At which point are all values true onwardswhich_true_onwards
which of three vectors are the elements (all, any) true?which3
Separated whichwhichs
Exclusive orxor2