fstrcapture {ympes} | R Documentation |
Capture string tokens into a data frame
Description
fstrcapture()
is a more efficient alternative for strcapture()
when
using Perl-compatible regular expressions
Usage
fstrcapture(x, pattern, proto)
Arguments
x |
A character vector in which to capture the tokens. |
pattern |
The regular expression with the capture expressions. |
proto |
A |
Value
A tabular data structure of the same type as proto, so typically a data.frame, containing a column for each capture expression. The column types are inherited from proto, as are the names unless the captures themselves are named (in which case these are prioritised). Cases in x that do not match the pattern have NA in every column.
See Also
Examples
# from regexpr example -------------------------------------------------
# if named capture then pass names on irrespective of proto
notables <- c(" Ben Franklin and Jefferson Davis", "\tMillard Fillmore")
pattern <- "(?<first>[[:upper:]][[:lower:]]+) (?<last>[[:upper:]][[:lower:]]+)"
proto <- data.frame(a="", b="")
fstrcapture(notables, pattern, proto)
# from strcapture example ----------------------------------------------
# if unnamed capture then proto names used
x <- "chr1:1-1000"
pattern <- "(.*?):([[:digit:]]+)-([[:digit:]]+)"
proto <- data.frame(chr=character(), start=integer(), end=integer())
fstrcapture(x, pattern, proto)
# if no proto supplied then all captures treated as character
str(fstrcapture(x, pattern))
str(fstrcapture(x, pattern, proto))
[Package ympes version 1.3.0 Index]