'Radix' Trees in 'Rcpp'

'Radix trees', or 'tries', are key-value data structures optimised for efficient lookups, similar in purpose to hash tables. 'triebeard' provides an implementation of 'radix trees' for use in R programming and in developing packages with 'Rcpp'.

Fast key-value matching in R and Rcpp

Author: Oliver Keyes, Drew Schmidt, Yuuki Takano
License: MIT
Status: Stable

Travis-CI Build Status downloads


Tries, or radix trees, are key-value data structures optimised for very, very fast matching of the keys against user-provided data (and then the return of the associated values!)

This is pretty useful in data cleaning and value extraction, and tries let you do it really efficiently. triebeard contains an implementation that can be used both when writing R, and when writing Rcpp (and imported and linked against, to boot). For more information see:

  1. The vignette on Rcpp usage;
  2. The vignette on R usage.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


The stable, CRAN-ready version can be retrieved with:


The latest version can be obtained via:




Version 0.3.0


  • Internal refactoring using templates has drastically reduced the size of the codebase

Version 0.2.1


  • Fixed segfault when trie_remove() resulted in a 0 element trie.

Version 0.2.0


  • tries can now be converted into lists and data.frames
  • We now have str() and print() methods! That's nice.
  • create_trie() renamed trie()


  • Haven't found any. Probably means they're lurking around and particularly nasty.


  • greedy and prefix matching should now be (slightly) faster.
  • Installed size has been slightly reduced, and the C++ code simplifed.

Version 0.1.0

  • Initial, GitHub-centred release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.3.0 by Oliver Keyes, 5 years ago


Report a bug at https://github.com/Ironholds/triebeard/issues

Browse source code at https://github.com/cran/triebeard

Authors: Oliver Keyes [aut, cre] , Drew Schmidt [aut] , Yuuki Takano [cph]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports Rcpp

Suggests knitr, rmarkdown, testthat

Linking to Rcpp

Imported by iptools, urltools.

See at CRAN