[R] grep for multiple pattern?
Rainer M Krug
Rainer at krugs.de
Thu Feb 13 15:43:17 CET 2014
Hi
I want to search for multiple pattern as grep is doing for a single
pattern, but this obviously not work:
> grep("an", month.name)
[1] 1
> grep("em", month.name)
[1] 9 11 12
> grep("eb", month.name)
[1] 2
> grep(c("an", "em", "eb"), month.name)
[1] 1
Warning message:
In grep(c("an", "em", "eb"), month.name) :
argument 'pattern' has length > 1 and only the first element will be used
>
Is there an equivalent which returns the positions as grep is doing, but
not using the strict full-string matching of match()?
I could obviously do:
> unlist( sapply(pat, grep, month.name ) )
an em1 em2 em3 eb
1 9 11 12 2
but is there a more compact command I am missing?
Thanks,
Rainer
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer at krugs.de
Skype: RMkrug
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 560 bytes
Desc: OpenPGP digital signature
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20140213/4dc34be0/attachment.bin>
More information about the R-help
mailing list