Extract Row Ranges by Pattern
extractRowRanges(dataFrame, columnName, pattern, startOffset = 1, stopOffset = 1, nameByMatch = FALSE, nameColumnsByMatch = TRUE, renumber = TRUE)
dataFrame | data frame |
---|---|
columnName | name of column in which to search for pattern |
pattern | pattern to be searched for in |
startOffset | row offset to be added to row number in which the pattern matches |
stopOffset | row offset to be subtracted from row number in which the pattern matches |
nameByMatch | logical. if TRUE, the elements in the result list are
named by the matching values in |
nameColumnsByMatch | if |
renumber | if |
list of data frames containing the rows of dataFrame between
rows matching pattern in dataFrame[[columnName]]
.
dataFrame <- as.data.frame( matrix( c("Date", "Value", "1.1.", "1", "2.1.", "2", "", "", "Date", "Value", "3.1.", "3", "4.1.", "4"), ncol = 2, byrow = TRUE ), stringsAsFactors = FALSE ) y <- extractRowRanges( dataFrame, columnName = "V1", pattern = "Date", stopOffset = 2 ) expected <- list( data.frame( Date = c("1.1.", "2.1."), Value = c("1", "2"), stringsAsFactors = FALSE ), data.frame( Date = c("3.1.", "4.1."), Value = c("3", "4"), stringsAsFactors = FALSE ) ) identical(y, expected)#> [1] TRUE