[R] Re gular Expression help

Wacek Kusnierczyk Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Sat Nov 8 00:46:06 CET 2008


Wacek Kusnierczyk wrote:
>
>>   
>>     
>>> Rajasekaramya wrote:
>>>   
>>>     
>>>       
>>>> hi there
>>>>
>>>> I have a vector with a set of data.I just wanna seperate them based on the
>>>> first p and q values metioned within the data.
>>>>
>>>> [1] chr10p15.3 /// chr3q29 /// chr4q35 /// chr9q34.3
>>>> [2] chr1q22-q24                                     
>>>> [3] chr1q22-q24                                     
>>>> [4] chr1pter-q24                                    
>>>> [5] chr1pter-q24                                    
>>>> [6] chr1pter-q24  
>>>>
>>>> i used a regular expression [+q*] to match up the values but it matches q
>>>> found anywhere i know i have written like that but i jus want it to match
>>>> the first p or q values.
>>>>
>>>> my result should be for q and 
>>>> [2] chr1q22-q24                                      
>>>> [3] chr1q22-q24  
>>>>
>>>> for p
>>>> [1] chr10p15.3 /// chr3q29 /// chr4q35 /// chr9q34.3
>>>> [4] chr1pter-q24                                    
>>>> [5] chr1pter-q24                                    
>>>> [6] chr1pter-q24 
>>>>
>>>>
>>>>         
>> the following will do the whole job (assuming x is your vector):
>>
>>
>>     
> result = local({
>    p = grep("^[^pq]*p", d)
>    list(p=d[p], q=d[-p])
> })
>   

oops, replace 'd' with 'x'

vQ



More information about the R-help mailing list