This applies the indicated perl-style regular expression where the first backreference (\\D+) is the non-digits and the second backreference (\\d+) is the digits.
The two backreferences, but not the entire matched pattern itself, are passed as arguments x and y to the function whose body is the right hand side of the formula in the third argument. That is then simplified using rbind to give the result. library(gsubfn) strapply(surgery, "(\\D+)(\\d+)", ~ list(lets = x, nums = as.numeric(y)), backref = -2, perl = TRUE, simplify = rbind) More on gsubfn at http://gsubfn.googlecode.com On 8/23/07, Gary Collins <[EMAIL PROTECTED]> wrote: > I'm having a Thursday morning mental block, any suggestions on the following > would be most appreciated... > > I have (as an example) > > surgery = c("d48", "d67", "dnc37", "a75", "d10", "a78", "d31", > "d55", "d1") > > before each number part the possibilities are c("a", "d", "dnc"), I'm trying > to split each element in "surgery" so that I have, > > status time > d 48 > d 67 > dnc 37 > a 75 > d 10 > a 78 > d 31 > d 55 > d 1 > > I've tried various strsplit approaches but nothing has done what I need. > > thanks in advance > > Gary > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@stat.math.ethz.ch 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. > ______________________________________________ R-help@stat.math.ethz.ch 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.