This is a simple wrapper to the match function.

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.

Author

Kevin Wright

Examples

# 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)
#> [1] NA 4 2
# 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
#> A B C D E #> -0.125 NaN -1.345 -0.240 0.170
# Merge the means into the original data dat$TrtMean <- lookup(dat$Trt, names(TrtMean), TrtMean)