[R] Splitting a character vector.

John Kane jrkrideau at inbox.com
Sun Jul 8 00:21:09 CEST 2012


Ah, I think Mark may have it.  See my earlier post.  Why the space?

John Kane
Kingston ON Canada


> -----Original Message-----
> From: ruipbarradas at sapo.pt
> Sent: Sat, 07 Jul 2012 23:12:46 +0100
> To: markleeds2 at gmail.com
> Subject: Re: [R] Splitting a character vector.
> 
> Oh, right!
> 
> The close parenthesis isn't doing nothing in the result, t could be done
> after but since we're to it...
> 
> Rui Barradas
> 
> Em 07-07-2012 23:10, Mark Leeds escreveu:
>> Hi Rui: I think he's asking about your replacement with blanks.
>> 
>> 
>> On Sat, Jul 7, 2012 at 6:08 PM, Rui Barradas <ruipbarradas at sapo.pt
>> <mailto:ruipbarradas at sapo.pt>> wrote:
>> 
>>     Hello,
>> 
>>     Sorry, but I don't understand, you're asking about 4 single quotes,
>>     the double quotes in open.par are just opening and closing the
>>     pattern, a character string.
>> 
>>     Rui Barradas
>> 
>>     Em 07-07-2012 23:03, John Kane escreveu:
>> 
>>         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 <mailto:ruipbarradas at sapo.pt>
>>             Sent: Sat, 07 Jul 2012 22:55:41 +0100
>>             To: jrkrideau at inbox.com <mailto: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 <mailto:R-help at r-project.org>
>>                 mailing list
>>                 https://stat.ethz.ch/mailman/__listinfo/r-help
>>                 <https://stat.ethz.ch/mailman/listinfo/r-help>
>>                 PLEASE do read the posting guide
>>                 http://www.R-project.org/__posting-guide.html
>>                 <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!
>>         Check it out at http://www.inbox.com/__marineaquarium
>>         <http://www.inbox.com/marineaquarium>
>> 
>> 
>> 
>>     ________________________________________________
>>     R-help at r-project.org <mailto:R-help at r-project.org> mailing list
>>     https://stat.ethz.ch/mailman/__listinfo/r-help
>>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>>     PLEASE do read the posting guide
>>     http://www.R-project.org/__posting-guide.html
>>     <http://www.R-project.org/posting-guide.html>
>>     and provide commented, minimal, self-contained, reproducible code.
>> 
>> 
> 
> ______________________________________________
> 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 ONLINE PHOTOSHARING - Share your photos online with your friends and family!
Visit http://www.inbox.com/photosharing to find out more!



More information about the R-help mailing list