[R] Grep command

David Winsemius dwinsemius at comcast.net
Wed May 4 18:59:48 CEST 2016


> On May 3, 2016, at 11:16 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:
> 
> Yes, but the answer is likely to depend on the actual patterns of strings in your real data, so the sooner you go find a book or tutorial on regular expressions the better.  This is decidedly not R specific and there are already lots of resources out there.
> 
> Given the example you provide,  the pattern "age$" should work. However, that is probably not sufficiently selective for a practical data set so start learning to fish (design regex patterns) yourself. 

@ Steven;

As is almost always the case I agree with Jeff. I found that reading Rhelp and attempting to answer regex-questions was the best method to learn them. In particular I found the postings by Gabor Grothendieck very helpful in getting some degree of competence in this area. I see that his grep-related postings still exceed my grep postings and I assure you that his will be more sophisticated than my efforts. I recommend the MarkMail Rhelp mirror interface as very useful in "mining" Rhelp for knowledge:

Gabor Grothendieck answers with either 'grep' pr 'regex' in their body:

http://markmail.org/search/?q=list%3Aorg.r-project.r-help+list%3Agrep+list%3Aregex+from%3A%22Gabor+Grothendieck

-- 
Happy searching;
David.


> -- 
> Sent from my phone. Please excuse my brevity.
> 
> On May 3, 2016 10:45:42 PM PDT, Steven Yen <syen04 at gmail.com> wrote:
>> Dear all
>> In the grep command below, is there a way to identify only "age" and
>> not "age2"? In other words, I like to greb "age" and "age2"
>> separately, one at a time. Thanks.
>> 
>> x<-c("abc","def","rst","xyz","age","age2")
>> x
>> 
>> [1] "abc"  "def"  "rst"  "xyz"  "age"  "age2"
>> 
>> grep("age2",x)
>> 
>> [1] 6
>> 
>> grep("age",x) # I need to grab "age" only, not "age2"
>> 
>> [1] 5 6
>> 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list