lookup (version 1.0)

lookup: Lookup items in key-value pairs of vectors

Description

This is a simple wrapper to the match function.

Usage

lookup(x, key, value, nomatch = NA)

Arguments

x

Vector of items to lookup in key-value pairs.

key

Vector of keys that are searched.

value

Vector of values to be returned.

nomatch

The value to be returned in the case when no match is found. Note that it is coerced to integer.

Value

A vector the same length as x, but containing the values of value. If x[i] is equal to key[j], then the value returned in the ith position of the vector is value[j]. If no match is found, NA is returned.

Details

Search for elements of x in key and return the corresponding element of value. If no match is found, return nomatch.

Examples

Run this code
# NOT RUN {
# Example 1.  A and B have different factor levels
A <- factor(c("A","E","F"))
B <- factor(c("E","F","G"))
v <- c(4,2,0)
lookup(A,B,v)

# Example 2.  Merge treatment means back into the raw data
dat <- data.frame(Trt = rep(LETTERS[1:5],2),
                  x=round(rnorm(10),2))
# Treatment B is missing all values, treatment D missing one value
dat$x[dat$Trt=="B"] <- NA
dat$x[4] <- NA
# Calculate treatment means
TrtMean <- tapply(dat$x, dat$Trt, mean, na.rm=TRUE)
TrtMean
# Merge the means into the original data
dat$TrtMean <- lookup(dat$Trt, names(TrtMean), TrtMean)

# }

Run the code above in your browser using DataLab