[R] suggestions/improvements for recoding strategy

Juliet Hannah juliet.hannah at gmail.com
Mon May 17 20:29:11 CEST 2010


I am recoding some data. Many values that should be 1.5 are recorded
as 1-2. Some example data and my solution is below. I am curious about
better approaches or any other suggestions. Thanks!

# example input data

myData <- read.table(textConnection("id, v1, v2, v3
a,1,2,3
b,1-2,,3-4
c,,3,4"),header=TRUE,sep=",")
closeAllConnections()

# the first column is IDs so remove that

numdat <- myData[,-1]

# function to change dashes: 1-2 to 1.5

myrecode <- function(mycol)
{
   newcol <- mycol
   newcol <- gsub("1-2","1.5",newcol)
   newcol <- gsub("2-3","2.5",newcol)
   newcol <- gsub("3-4","3.5",newcol)
   newcol <- as.numeric(newcol)

}

newData <- data.frame(do.call(cbind,lapply(numdat,myrecode)))



More information about the R-help mailing list