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))) ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.