R/infringements.R

#SUFC Reports
#Infringements Numbers Statistics

infringements <- function(match_report){
  
  library(pdftools, quietly = TRUE)
  library(stringr, quietly = TRUE)
  
  test <- match_report
  file <- pdf_text(test)
  file_page_1 <- file[1]
  
  keyword <- "INFRINGEMENTS"
  file_page_1_sub <- sub(paste0(".*",keyword), "", file_page_1)
  file_page_1_sub <- gsub("^ *|(?<= ) | *$", "", file_page_1_sub, perl = TRUE)
  file_page_1_sub <- strsplit(file_page_1_sub, "\n", fixed = TRUE)
  for(i in 1:length(file_page_1_sub[[1]])){
    file_page_1_sub[[1]][i] <- trimws(file_page_1_sub[[1]][i], "both")
  }
  
  infringements <- NULL
  for(i in 1:length(file_page_1_sub[[1]])){
    if(grepl("TOTAL", file_page_1_sub[[1]][i])){
      infringements[i] <- file_page_1_sub[[1]][i]
    } else if(grepl("SCRUM", file_page_1_sub[[1]][i])){
      infringements[i] <- file_page_1_sub[[1]][i]
    } else if(grepl("TACKLE/RUCK", file_page_1_sub[[1]][i])){
      infringements[i] <- file_page_1_sub[[1]][i]
    } else {
      infringements[i] <- "Empty"
    }
  }
  
  infringements <- infringements[infringements != "Empty"]
  infringements <- strsplit(infringements, " ")
  
  
  for(i in 1:length(infringements[[1]])){
    if(infringements[[1]][i] == "TOTAL"){
      middle <- i
    }
  }
  
  infringements[[1]] <- c(infringements[[1]][[middle - 2]], infringements[[1]][[middle - 1]], infringements[[1]][[middle]], infringements[[1]][[middle + 1]], infringements[[1]][[middle + 2]])
  infringements[[2]] <- c(infringements[[2]][[3]], 0, infringements[[2]][[4]], 0, infringements[[2]][[5]])
  infringements[[3]] <- c(infringements[[3]][[4]], 0, infringements[[3]][[5]], 0, infringements[[3]][[6]])
  
  infringements <- data.frame(matrix(unlist(infringements), ncol = 5, byrow = TRUE), stringsAsFactors = FALSE)
  
  file_page_1 <- gsub("^ *|(?<= ) | *$", "", file_page_1, perl = TRUE)
  file_page_1 <- strsplit(file_page_1, "\n", fixed = TRUE)
  file_page_1[[1]][2] <- trimws(file_page_1[[1]][2], "both")
  
  names(infringements) <- c("home_penalties", "home_free_kick", file_page_1[[1]][2], "away_free_kick", "away_penalties")
  infringements <- infringements[,c(3, 1, 2, 5, 4)]
  
  infringements
}
AndrewFerris/sufc1863 documentation built on May 5, 2019, 5:59 a.m.