Hello; I am a R newbie and would like to know correct and efficient method for doing string replacement.
I have a large data set, where I want to replace character "M", "b", and "K" (currency in Million, Billion and K) to millions. That is 209.7B with (209.7 * 10e6) and 100.00K with (100.00 *1/100) and etc.. d <- c("120.0M", "11.01m", "209.7B", "100.00k", "50") This works that is it removes "b/B", gsub ("(.*)(B$)", "\\1", d, ignore.case=T, perl=T) but gsub ("(.*)(B$)", as.numeric("\\1") * 10e6, d, ignore.case=T, perl=T) does not work. I tried with sprintf and other combination of as.numeric but that fails, how to use \\1 and multiply with 10e6?? The other solution is : location <- grep ("M", d, ignore.case=T) y <- sub("M", "", d, ignore.case=T) y[location]<-y[location] * 10e6 Is the second solution faster or (if) combination of grep along with multiply (if it works) is faster? Or what is the most efficient method to do something like this in R? Thanks and Regards Krishna ______________________________________________ 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.