Learn R Programming

qdapTools (version 1.3.7)

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

Description

%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

Value

Outputs A new vector with reassigned values.

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.

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