On Fri, Aug 1, 2014 at 10:46 AM, Doran, Harold <hdo...@air.org> wrote: > I have done an embarrassingly bad job using a mixture of gsub and strsplit to > solve a problem. Below is sample code showing what I have to start with (the > vector xx) and I want to end up with two vectors x and y that contain only > the digits found in xx. > > Any regex users with advice most welcome > > Harold > > xx <- c("S24:57", "S24:86", "S24:119", "S24:129", "S24:138", "S24:163") > yy <- gsub("S","\\1", xx) > a1 <- gsub(":"," ", yy) > a2 <- sapply(a1, function(x) strsplit(x, ' ')) > x <- as.numeric(sapply(a2, function(x) x[1])) > y <- as.numeric(sapply(a2, function(x) x[2]))
> library(gsubfn) > strapply(xx, "\\d+", as.numeric, simplify = TRUE) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 24 24 24 24 24 24 [2,] 57 86 119 129 138 163 -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.