[R] how to subset rows using regular expression patterns

paul sorenson paul at metrak.com
Sun Dec 4 02:20:54 CET 2005


Something like

A[grep('^ab', as.vector(A$M)),]

might work

zhihua li wrote:
> hi netters,
> 
> i have a dataframe A with several columns(variables). the elements of 
> column M are character strings. so 
> A$M=c("ab","abc","bcd","ac","abcd","fg",....."fl").
> 
> i wanna extract all the rows where A$M match some regular expression 
> pattern.
> for a simple example, let the pattern be just "ab", i wanna subset the 
> rows where A$M="ab" or "abc" or "abcd" or "abXX".........
> 
> i know i can write a loop,using some regular expression pattern 
> functions like grep row by row. but when A's size is pretty large, it's 
> inefficient. could anyone give me a hint about a faster code?
> 
> thanks a lot!




More information about the R-help mailing list