[R] Splitting a character vector.

John Kane jrkrideau at inbox.com
Sun Jul 8 00:03:24 CEST 2012


Thanks Rui
It works perfectly so far on the test and real data.  

The annoying thing is that I had tried , or thought I'd tried the open.par format and keep getting an error. 

 It looks like I had failed to add the '''',  in the term. What is it doing?



John Kane
Kingston ON Canada


> -----Original Message-----
> From: ruipbarradas at sapo.pt
> Sent: Sat, 07 Jul 2012 22:55:41 +0100
> To: jrkrideau at inbox.com
> Subject: Re: [R] Splitting a character vector.
> 
> Hello,
> 
> Try the following.
> 
> open.par <- " \\("  # with a blank before '('
> close.par <- "\\)"
> result <- strsplit(sub(close.par, "", dd1), open.par)
> 
> 
> Why the two '\\'? Because '(' is a meta-character so it must be escaped.
> But '\' is a meta character so it must also be escaped.
> 
> Then choose the right way to separate the two, maybe something like
> 
> ix <- rep(c(TRUE, FALSE), length(result))
> unlist(result)[ix]
> unlist(result)[!ix]
> 
> 
> Hope this helps,
> 
> Rui Barradas
> 
> Em 07-07-2012 22:37, John Kane escreveu:
>> I am lousy at simple regex and I have not found a solution to a simple
>> problem.
>> 
>> I have a vector with some character values that I want to split.
>> Sample data
>> dd1  <-  c( "XXY (mat harry)","XXY (jim bob)", "CAMP (joe blow)", "ALP
>> (max jack)")
>> 
>> Desired result
>> dd2  <-  data.frame( xx = c("XXY", "XXY", "CAMP", "ALP"), yy = c("mat
>> harry", "jim bob" , "joe blow", "max jack"))
>> 
>> I thought I should be able to split the characters with strsplit but
>> either I am misunderstanding the function or don't know how to escape a
>> "(" properly in an effort to at least get   "XXY" "(mat harry)"
>> 
>> Any pointers would be appreciated
>> Thanks
>> John Kane
>> Kingston ON Canada
>> 
>> ____________________________________________________________
>> FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on
>> your desktop!
>> 
>> ______________________________________________
>> R-help at 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.
>>

____________________________________________________________
FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!



More information about the R-help mailing list