On Fri, Dec 4, 2009 at 7:51 PM, Charles C. Berry <cbe...@tajo.ucsd.edu> wrote: > On Fri, 4 Dec 2009, Peng Yu wrote: > >> On Fri, Dec 4, 2009 at 2:35 PM, Greg Snow <greg.s...@imail.org> wrote: >>> >>> The invert argument seems a likely candidate, you could also do perl=TRUE >>> and use negations within the pattern (but that is probably overkill for your >>> original question). >> >> I don't see 'invert' in the R version (2.7.1) that I use. Here is the >> snip from ?grep > > PLEASE! There have been SEVEN (7) releases of R since 2.7.1. > > Upgrade to R.10.0 NOW!
This is not under my control. The R installed on the system that I use won't be updated by the system administrator, now. But it might be at a later time. > This is the second time in a few days that you have not been able to > follow/understand advice given to you on this list because you are using an > older version of R, while the rest of us have moved on. > > Chuck > > >> >> Usage: >> >> grep(pattern, x, ignore.case = FALSE, extended = TRUE, >> perl = FALSE, value = FALSE, fixed = FALSE, useBytes = FALSE) >> >> sub(pattern, replacement, x, >> ignore.case = FALSE, extended = TRUE, perl = FALSE, >> fixed = FALSE, useBytes = FALSE) >> >> gsub(pattern, replacement, x, >> ignore.case = FALSE, extended = TRUE, perl = FALSE, >> fixed = FALSE, useBytes = FALSE) >> >> regexpr(pattern, text, ignore.case = FALSE, extended = TRUE, >> perl = FALSE, fixed = FALSE, useBytes = FALSE) >> >> gregexpr(pattern, text, ignore.case = FALSE, extended = TRUE, >> perl = FALSE, fixed = FALSE, useBytes = FALSE) >> >> >>> Could you explain to us the process that you use to search for answers to >>> your questions before posting? You have been asking quite a few questions >>> that have answers out there if you can find them. If you tell us where you >>> are looking (and why) then we may be able to suggest some different search >>> strategies that will help you find the answers quicker. Also knowing your >>> thought process may help us in designing future help/tutorials that cater >>> more to people learning R for the first time, things that seem obvious to >>> those of us who have been using the current documentation, apparently are >>> not that obvious to some new users (but also realize that the first place >>> that you may think to look may not even occur to some of us that learned >>> computers in a different time, see fortune(89) ). >> >> For this particular problem in the original post, it is due to the >> fact that I use an older R. >> >> But in general, the R help and examples in the help page should be >> improved in terms of the structure. Just as we write a paper, it is >> better to have a hierarchical descriptions (i.e., which is similar to >> the flow of abstract -> introduction -> maintext, in each section that >> appears later, more detailed information should be given; but earlier >> section should give readers general ideas.) >> >> The current way to organizing the help is less satisfactory. >> Description->Usage->Arguments >> >> This may be good if you have already what you should look for. But if >> you are new to it, you will be easily lost. For example, many >> functions are given in Usage without been explained what the >> difference between them until very late, or no explicit explanations >> at all. But having such descriptions on the differences can help users >> choose the appropriate ones. >> >> Some of informative examples should be put forward to help newbies >> understand how to use each function, rather than put at the end of the >> help page. Many examples in the help page requires previous knowledge >> in other functions. In general, it is better to have the information >> on each help page self contained. >> >> Another problem is not due to the help of R, but the design of R >> itself --- there many specially case to use a function. For example, >> x[1:2,] is a matrix but x[1,] is a vector. >> >>> x=matrix(1:6,nr=3) >>> x[1:2,] >> >> [,1] [,2] >> [1,] 1 4 >> [2,] 2 5 >>> >>> x[1,] >> >> [1] 1 4 >> >> I know that somebody that has worked with R for over 10 years don't >> know why (It may be because he doesn't care). But I have to ask the >> mailing list to understand that I have to use the option 'drop' in >> order to get a matrix as the returned value. >>> >>> x[1,,drop=F] >> >> [,1] [,2] >> [1,] 1 4 >> >> If I were the original designer of R, I would make the interface more >> orthogonal (this is the usual way to reduce complexity in software). >> For example, [] would always return a matrix, if I want to reduce its >> dimension, I will have another function to do so. >> >> Have many special cases although might be convenient in some cases. >> But they may also cause confusions and may cause some delicate bugs >> that are to figure out especially to newbies. >> >> The above are my current thoughts. Let me know if it makes sense to you or >> not. >> >>>> -----Original Message----- >>>> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r- >>>> project.org] On Behalf Of Peng Yu >>>> Sent: Friday, December 04, 2009 12:43 PM >>>> To: r-h...@stat.math.ethz.ch >>>> Subject: Re: [R] grep() exclude certain patterns? >>>> >>>> On Fri, Dec 4, 2009 at 11:54 AM, Duncan Murdoch <murd...@stats.uwo.ca> >>>> wrote: >>>>> >>>>> On 04/12/2009 12:52 PM, Peng Yu wrote: >>>>>> >>>>>> The external grep program has an option -v to select non-matching >>>>>> lines. I'm wondering if how to exclude certain patterns in grep() in >>>>>> R? >>>>>> >>>>> >>>>> ?grep >>>> >>>> I don't see which argument to use. >>>> >>>> ______________________________________________ >>>> R-help@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. >>> >> >> ______________________________________________ >> R-help@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. >> > > Charles C. Berry (858) 534-2098 > Dept of Family/Preventive > Medicine > E mailto:cbe...@tajo.ucsd.edu UC San Diego > http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901 > > ______________________________________________ R-help@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.