qdapTools (version 1.3.3)

lookup_e: Hash Table/Dictionary Lookup lookup_e - Environment based hash table useful for large vector lookups.

Description

Hash Table/Dictionary Lookup

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 matrix lookup_e(terms, key.match, key.reassign = NULL, missing = NA)

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

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

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

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

# S3 method for 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
# NOT RUN {
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 DataCamp Workspace