Learn R Programming

qdapTools (version 1.0.3)

lookup_e: Hash Table/Dictionary Lookup

Description

lookup_e - Environment based hash table useful for large vector lookups. %le% - A binary operator version of lookup_e for when key.match is a data.frame or named list. %le+% - A binary operator version of lookup_e for when key.match is a data.frame or named list and missing is assumed to be NULL.

Usage

lookup_e(terms, key.match, key.reassign = NULL, missing = NA)

## S3 method for class 'matrix':
lookup_e(terms, key.match, key.reassign = NULL,
  missing = NA)

## S3 method for class 'data.frame':
lookup_e(terms, key.match, key.reassign = NULL,
  missing = NA)

## S3 method for class 'list':
lookup_e(terms, key.match, key.reassign = NULL, missing = NA)

## S3 method for class 'numeric':
lookup_e(terms, key.match, key.reassign = NULL,
  missing = NA)

## S3 method for class 'factor':
lookup_e(terms, key.match, key.reassign = NULL,
  missing = NA)

## S3 method for class 'character':
lookup_e(terms, key.match, key.reassign = NULL,
  missing = NA)

terms %le% key.match

terms %le+% key.match

Arguments

terms
A vector of terms to undergo a lookup_e.
key.match
Takes one of the following: (1) a two column data.frame of a match key and reassignment column, (2) a named list of vectors (Note: if data.frame or named list supplied no key reassign needed) or (3) a single vector match key.
key.reassign
A single reassignment vector supplied if key.match is not a two column data.frame/named list.
missing
Value to assign to terms not matching the key.match. If set to NULL the original values in terms corresponding to the missing elements are retained.

Value

  • Outputs A new vector with reassigned values.

See Also

new.env, lookup,

Examples

Run this code
lookup_e(1:5, data.frame(1:4, 11:14))

## Retain original values for missing
lookup_e(1:5, data.frame(1:4, 11:14), missing=NULL)

lookup_e(LETTERS[1:5], data.frame(LETTERS[1:5], 100:104))
lookup_e(LETTERS[1:5], factor(LETTERS[1:5]), 100:104)

## Supply a named list of vectors to key.match

codes <- list(
    A = c(1, 2, 4),
    B = c(3, 5),
    C = 7,
    D = c(6, 8:10)
)

lookup_e(1:10, codes)

## Supply a single vector to key.match and key.reassign

lookup_e(mtcars$carb, sort(unique(mtcars$carb)),
    c("one", "two", "three", "four", "six", "eight"))

lookup_e(mtcars$carb, sort(unique(mtcars$carb)),
    seq(10, 60, by=10))

## \%le\%, a binary operator version of lookup
1:5 %le% data.frame(1:4, 11:14)
1:10 %le% codes

1:12 %le% codes
1:12 %le+% codes

Run the code above in your browser using DataLab