[R] Splitting strings
ggrothendieck at gmail.com
Thu Aug 23 13:55:56 CEST 2007
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.
strapply(surgery, "(\\D+)(\\d+)", ~ list(lets = x, nums = as.numeric(y)),
backref = -2, perl = TRUE, simplify = rbind)
More on gsubfn at
On 8/23/07, Gary Collins <collins.gs at gmail.com> 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
> [[alternative HTML version deleted]]
> R-help at stat.math.ethz.ch mailing list
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help