Recode a Variable
Recodes a numeric vector, character vector, or factor according to simple recode specifications.
recode(var, recodes, as.factor.result, levels)
- numeric vector, character vector, or factor.
- character string of recode specifications: see below.
- return a factor; default is
varis a factor,
- an optional argument specifying the order of the levels in the returned factor; the default is to use the sort order of the level names.
Recode specifications appear in a character string, separated by
semicolons (see the examples below), of the form
If an input value satisfies more than one specification,
then the first (from left to right) applies.
If no specification is satisfied, then the input value is carried
over to the result.
NA is allowed on input and output.
Several recode specifications are supported:
[object Object],[object Object],[object Object],[object Object]
If all of the output values are numeric, and if
FALSE, then a numeric result is returned.
- a recoded vector of the same length as
varis a factor, then so is the result.
x<-rep(1:3,3) x ##  1 2 3 1 2 3 1 2 3 recode(x, "c(1,2)='A'; else='B'") ##  "A" "A" "B" "A" "A" "B" "A" "A" "B" recode(x, "1:2='A'; 3='B'") ##  "A" "A" "B" "A" "A" "B" "A" "A" "B"
# By including just a single value, it's possible to recode just that value and leave all other values unchanged: NEWVAR <- recode(OLDVAR, '99=NA') # This would copy all the other values but recode 99 as NA.