# recodeVar: Recode values of a vector In doBy: Groupwise Statistics, LSmeans, Linear Contrasts, Utilities

## Description

Recodes a vector with values, say 1,2 to a variable with values, say 'a', 'b'

## Usage

 `1` ```recodeVar(x, src, tgt, default = NULL, keep.na = TRUE) ```

## Arguments

 `x` A vector; the variable to be recoded `src` The source values: a subset of the present values of x `tgt` The target values: the corresponding new values of x `default` Default target value for those values of x not listed in 'src'. When default=NULL, values of x which are not given in 'src' will be kept in the output. `keep.na` If TRUE then NA's in x will be retained in the output

A vector

## Warning

Care should be taken if x is a factor. A safe approach may be to convert x to a character vector using as.character.

## Author(s)

Søren Højsgaard, [email protected]

`cut`, `factor`, `recodeVar`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33``` ```x <- c("dec", "jan", "feb", "mar", "apr", "may") src1 <- list(c("dec", "jan", "feb"), c("mar", "apr", "may")) tgt1 <- list("winter", "spring") recodeVar(x, src=src1, tgt=tgt1) #[1] "winter" "winter" "winter" "spring" "spring" "spring" x <- c(rep(1:3, 3)) #[1] 1 2 3 1 2 3 1 2 3 ## Simple usage: recodeVar(x, src=c(1, 2), tgt=c("A", "B")) #[1] "A" "B" NA "A" "B" NA "A" "B" NA ## Here we need to use lists recodeVar(x, src=list(c(1, 2)), tgt=list("A")) #[1] "A" "A" NA "A" "A" NA "A" "A" NA recodeVar(x, src=list(c(1, 2)), tgt=list("A"), default="L") #[1] "A" "A" "L" "A" "A" "L" "A" "A" "L" recodeVar(x, src=list(c(1, 2), 3), tgt=list("A", "B"), default="L") #[1] "A" "A" "B" "A" "A" "B" "A" "A" "B" ## Dealing with NA's in x x<-c(NA,rep(1:3, 3),NA) #[1] NA 1 2 3 1 2 3 1 2 3 NA recodeVar(x, src=list(c(1, 2)), tgt=list("A")) #[1] NA "A" "A" NA "A" "A" NA "A" "A" NA NA recodeVar(x, src=list(c(1, 2)), tgt=list("A"), default="L") #[1] NA "A" "A" "L" "A" "A" "L" "A" "A" "L" NA recodeVar(x, src=list(c(1, 2)), tgt=list("A"), default="L", keep.na=FALSE) #[1] "L" "A" "A" "L" "A" "A" "L" "A" "A" "L" "L" x <- c("no", "yes", "not registered", "no", "yes", "no answer") recodeVar(x, src = c("no", "yes"), tgt = c("0", "1"), default = NA) ```