inst/doc/r_radix.R

## ---- eval=FALSE--------------------------------------------------------------
#  labels <- c("AO-1002", "AEO-1004", "AAI-1009", "AFT-1403", "QZ-9065", "QZ-1021", "RF-0901",
#              "AO-1099", "AFT-1101", "QZ-4933")

## ---- eval=FALSE--------------------------------------------------------------
#  library(triebeard)
#  trie <- trie(keys = c("AO", "AEO", "AAI", "AFT", "QZ", "RF"),
#               values = c("Audobon", "Atlanta", "Ann Arbor", "Austin", "Queensland", "Raleigh"))
#  
#  longest_match(trie = trie, to_match = labels)
#  
#   [1] "Audobon"    "Atlanta"    "Ann Arbor"  "Austin"     "Queensland" "Queensland" "Raleigh"    "Audobon"    "Austin"
#  [10] "Queensland"

## ---- eval=FALSE--------------------------------------------------------------
#  prefix_match(trie = trie, to_match = "A")
#  
#  [[1]]
#  [1] "Ann Arbor" "Atlanta"   "Austin"    "Audobon"

## ---- eval=FALSE--------------------------------------------------------------
#  greedy_match(trie = trie, to_match = "AO")
#  
#  [[1]]
#  [1] "Ann Arbor" "Atlanta"   "Austin"    "Audobon"

## ---- eval=FALSE--------------------------------------------------------------
#  library(triebeard)
#  library(microbenchmark)
#  
#  trie <- trie(keys = c("AO", "AEO", "AAI", "AFT", "QZ", "RF"),
#               values = c("Audobon", "Atlanta", "Ann Arbor", "Austin", "Queensland", "Raleigh"))
#  
#  labels <- rep(c("AO-1002", "AEO-1004", "AAI-1009", "AFT-1403", "QZ-9065", "QZ-1021", "RF-0901",
#                  "AO-1099", "AFT-1101", "QZ-4933"), 100000)
#  
#  microbenchmark({longest_match(trie = trie, to_match = labels)})
#  
#  Unit: milliseconds
#                                                    expr      min       lq     mean   median       uq      max neval
#   {     longest_match(trie = trie, to_match = labels) } 284.6457 285.5902 289.5342 286.8775 288.4564 327.3878   100

## ---- eval=FALSE--------------------------------------------------------------
#  to_match = "198.0.0.1"
#  trie_inst <- trie(keys = "197", values = "fake range")
#  
#  longest_match(trie_inst, to_match)
#  [1] NA
#  
#  trie_add(trie_inst, keys = "198", values = "home range")
#  longest_match(trie_inst, to_match)
#  [1] "home range"
#  
#  trie_remove(trie_inst, keys = "198")
#  longest_match(trie_inst, to_match)
#  [1] NA

## ---- eval=FALSE--------------------------------------------------------------
#  trie <- trie(keys = c("AO", "AEO", "AAI", "AFT", "QZ", "RF"),
#               values = c("Audobon", "Atlanta", "Ann Arbor", "Austin", "Queensland", "Raleigh"))
#  
#  str(as.data.frame(trie))
#  'data.frame':	6 obs. of  2 variables:
#   $ keys  : chr  "AAI" "AEO" "AFT" "AO" ...
#   $ values: chr  "Ann Arbor" "Atlanta" "Austin" "Audobon" ...
#  
#  str(as.list(trie))
#  
#  List of 2
#   $ keys  : chr [1:6] "AAI" "AEO" "AFT" "AO" ...
#   $ values: chr [1:6] "Ann Arbor" "Atlanta" "Austin" "Audobon" ...

Try the triebeard package in your browser

Any scripts or data that you put into this service are public.

triebeard documentation built on March 7, 2023, 6:55 p.m.