This function is from the car package. Please see that help page for details: car::recode().

recode(
  var,
  recodes,
  as.factor,
  as.numeric = TRUE,
  levels,
  to.value = "=",
  interval = ":",
  separator = ";"
)

Arguments

var

numeric vector, character vector, or factor.

recodes

character string of recode specifications: see below.

as.factor

return a factor; default is TRUE if var is a factor, FALSE otherwise.

as.numeric

if TRUE (the default), and as.factor is FALSE, then the result will be coerced to numeric if all values in the result are numerals—i.e., represent numbers.

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.

to.value

The operator to separate old from new values, "=" by default; some other possibilities: "->", "~", "~>". Cannot include the interval operator (by default :) or the separator string (by default, ;), so, e.g., by default ":=>" is not allowed. The discussion in Details assumes the default "=". Use a non-default to.value if factor levels contain =.

interval

the operator used to denote numeric intervals, by default ":". The discussion in Details assumes the default ":". Use a non-default interval if factor levels contain :.

separator

the character string used to separate recode specifications, by default ";". The discussion in Details assumes the default ";". Use a non-default separator if factor levels contain ;.

References

Fox, J. and Weisberg, S. (2019) An R Companion to Applied Regression, Third Edition, Sage.

Author

John Fox jfox@mcmaster.ca

Examples

x<-rep(1:3,3)
x
#> [1] 1 2 3 1 2 3 1 2 3
rosetta::recode(
  x,
  "c(1,2)='A'; else='B'"
);
#> [1] "A" "A" "B" "A" "A" "B" "A" "A" "B"
rosetta::recode(
  x,
  "1:2='A'; 3='B'"
);
#> [1] "A" "A" "B" "A" "A" "B" "A" "A" "B"