Recode
is an alias for recode that avoids name clashes
with packages, such as Hmisc, that have a recode function.
recode(var, recodes, as.factor.result, as.numeric.result=TRUE, levels)
Recode(...)TRUE if
var is a factor, FALSE otherwise.TRUE (the default), and as.factor.result is FALSE,
then the result will be coerced to numeric
if all values in the result are numerals---i.e., represent numbers.recode.var.
input=output.
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:
0=NA.
c(7,8,9)='high'.
7:9='C'. The special values lo
and hi may appear in a range. For example, lo:10=1. Note: : is
not the R sequence operator. In addition you may not use : with the collect operator, so for example c(1, 3, 5:7) will cause an error.
elseelse=NA. Note that else matches all otherwise
unspecified values on input, including NA.
If all of the output values are numeric, and if as.factor.result is
FALSE, then a numeric result is returned; if var is a factor,
then by default so is the result.
cut, factorx<-rep(1:3,3)
x
## [1] 1 2 3 1 2 3 1 2 3
recode(x, "c(1,2)='A';
else='B'")
## [1] "A" "A" "B" "A" "A" "B" "A" "A" "B"
Recode(x, "1:2='A'; 3='B'")
## [1] "A" "A" "B" "A" "A" "B" "A" "A" "B"
Run the code above in your browser using DataLab