Extract Row Ranges by Pattern

extractRowRanges(dataFrame, columnName, pattern, startOffset = 1,
  stopOffset = 1, nameByMatch = FALSE, nameColumnsByMatch = TRUE,
  renumber = TRUE)

Arguments

dataFrame

data frame

columnName

name of column in which to search for pattern

pattern

pattern to be searched for in dataFrame[, columnName]

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 dataFrame[[columnName]]. Defaults to FALSE.

nameColumnsByMatch

if TRUE (default) the columns of the result data frame are named

renumber

if TRUE (default) the result data frame is renumbered

Value

list of data frames containing the rows of dataFrame between rows matching pattern in dataFrame[[columnName]].

Examples

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