| recode {car} | R Documentation |
Recode a Variable
Description
Recodes a numeric vector, character vector, or factor
according to simple recode specifications. Recode
is an alias for recode that avoids name clashes
with packages, such as Hmisc, that have a recode function.
Usage
recode(var, recodes, as.factor.result, as.numeric.result=TRUE, levels)
Recode(...)
Arguments
var |
numeric vector, character vector, or factor. |
recodes |
character string of recode specifications: see below. |
as.factor.result |
return a factor; default is |
as.numeric.result |
if |
levels |
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. |
... |
arguments to be passed to |
Details
Recode specifications appear in a character string, separated by
semicolons (see the examples below), of the form 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:
- single value
For example,
0=NA.- vector of values
For example,
c(7,8,9)='high'.- range of values
For example,
7:9='C'. The special valuesloandhimay 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 examplec(1, 3, 5:7)will cause an error.elseeverything that does not fit a previous specification. For example,
else=NA. Note thatelsematches all otherwise unspecified values on input, includingNA.
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.
Value
a recoded vector of the same length as var.
Author(s)
John Fox jfox@mcmaster.ca
References
Fox, J. and Weisberg, S. (2011) An R Companion to Applied Regression, Second Edition, Sage.
See Also
Examples
x<-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"