Match pattern in a column of a matrix or data.frame

Share:

Description

Search for pattern in a column of a matrix or data.frame using grep. If value = TRUE (the default), return the selected subset of x.

Usage

1
2
3
grepFn(pattern, x, column='Function', ignore.case=FALSE,
       perl=FALSE, value=TRUE, fixed=FALSE,
       useBytes=FALSE, invert=FALSE)

Arguments

x

a matrix or data.frame containing a column named column.

pattern, ignore.case, perl, fixed, useBytes, invert

as for grep

column

character string giving the column of x in which to search for pattern.

value

logical: If TRUE, return the selected subset of x. If FALSE, return the row numbers returned by grep.

Details

1. g <- grep(pattern, x[, column])

2. if(value)return(x[g, ]) else return(g)

Value

If(value) return an object of the same class as x containing those rows of x with x[, column] matching pattern.

Else, return an integer vector identifying the rows of x with x[, column] matching pattern.

Author(s)

Spencer Graves, Sundar Dorai-Raj

See Also

findFn grep

Examples

1
2
3
4
5
z <- cbind(a=1:2, Function=c('s', 'spline'))
z. <- grepFn("spline", z)


all.equal(z., z[2,,drop=FALSE])