recodeVar function

Recode values of a vector

Recode values of a vector

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

recodeVar(x, src, tgt, default = NULL, keep.na = TRUE) recode_var(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

Returns

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.

Examples

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)

See Also

cut, factor, recodeVar

Author(s)

Søren Højsgaard, sorenh@math.aau.dk