[R] simultaneous actions of grep ???
Marc Schwartz
marc_schwartz at comcast.net
Mon Jun 25 19:06:23 CEST 2007
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
More information about the R-help
mailing list