From: Marc Schwartz <marc_schwartz_at_comcast.net>

Date: Mon, 25 Jun 2007 12:06:23 -0500

R-help_at_stat.math.ethz.ch 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. Received on Mon 25 Jun 2007 - 17:26:40 GMT

Date: Mon, 25 Jun 2007 12:06:23 -0500

On Mon, 2007-06-25 at 11:58 -0500, Marc Schwartz wrote:

> On Mon, 2007-06-25 at 17:15 +0100, Ana Patricia Martins wrote:

*> > Hello R-users and developers,
**> >
**> > Once again, I'm asking for your help.
**> >
**> > There is other way to do the same more easily for applied simultaneous
**> > grep???
**> >
**> > c<-subset(c,!rownames(c) %in% grep(".1",rownames(c),value=T))
**> > c<-subset(c,!rownames(c) %in% grep(".5",rownames(c),value=T))
**> > c<-subset(c,!rownames(c) %in% grep(".6",rownames(c),value=T))
**> > c<-subset(c,!rownames(c) %in% grep(".99999",rownames(c),value=T))
**> >
**> > Thanks in advance for helping me.
**>
**> One question might be what other possible values can the rownames take.
**>
**> For example, if you want to check for '.99999', but not for other values
**> containing a '9' after the decimal, something like the following should
**> work:
**>
**> sub.c <- subset(c,
**> !rownames(c) %in%
**> grep("\\.([156])|([9]{5})", rownames(c),
**> value = TRUE))
**>
**> Otherwise, if you want to include anything with a '9' after a decimal,
**> the following would work:
**>
**> sub.c <- subset(c,
**> !rownames(c) %in%
**> grep("\\.[1569]", rownames(c), value = TRUE))
**>
**>
**> See ?regex and the information there for some additional guidance. There
**> are also many regex references online, such as:
**>
**> http://www.regular-expressions.info/
**>
**> BTW, it would be preferable not to use 'c' to name an object in R, since
**> c() is a function. While conflicts should, in general, not occur, it
**> eliminates such risk and makes for more easily readable code to not use
**> function names for objects.
*

Quick possible correction:

I mis-read the regex as containing a decimal, which would need to be escaped as I had.

If your use of the '.' is to refer to any character, then the following would be correct:

sub.c <- subset(c,

!rownames(c) %in% grep(".([156])|([9]{5})", rownames(c), value = TRUE))

or

sub.c <- subset(c,

!rownames(c) %in% grep(".[1569]", rownames(c), value = TRUE))

Sorry for the confusion.

Marc

R-help_at_stat.math.ethz.ch 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. Received on Mon 25 Jun 2007 - 17:26:40 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 25 Jun 2007 - 18:32:25 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*