File: recode.R

package info (click to toggle)
r-cran-blockmodeling 1.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 912 kB
  • sloc: ansic: 2,024; f90: 952; sh: 13; makefile: 5
file content (34 lines) | stat: -rw-r--r-- 769 bytes parent folder | download | duplicates (3)
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
34
#' @encoding UTF-8
#' @title Recode
#' 
#' @description
#' Recodes values in a vector.
#' 
# #' @usage recode(x, oldcode = sort(unique(x)), newcode)
#' 
#' @param x A vector.
#' @param oldcode A vector of old codes.
#' @param newcode A vector of new codes.
#'
#' @return A recoded vector.
#'
#' @examples
#' x <- rep(1:3, times = 1:3)
#' newx <- recode(x, oldcode = 1:3, newcode = c("a", "b", "c"))
#' 
#' @author \enc{Aleš Žiberna}{Ales Ziberna}
#' 
#' @keywords manip
#' 
#' @export

"recode" <-
function(x,oldcode=sort(unique(x)),newcode){
  if(length(oldcode)!=length(newcode))stop("The number of old and new codes do not match")
  newx<-x
  for(i in 1:length(oldcode)){
    newx[x==oldcode[i]]<-newcode[i]
  }
  return(newx)
}