R/helpers_cfb_pbp_data.R

Defines functions prep_epa_df_after_select clean_drive_dat_select add_player_cols_select add_yardage_select clean_pbp_dat_select add_play_counts_select penalty_detection_select

Documented in add_play_counts_select add_player_cols_select add_yardage_select clean_drive_dat_select clean_pbp_dat_select penalty_detection_select prep_epa_df_after_select

#' Select the columns needed for \code{penalty_detection()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

penalty_detection_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "half",
      "period",
      "clock.minutes",
      "clock.seconds",
      "down",
      "distance",
      "yards_to_goal",
      "orig_play_type",
      "play_type",
      "play_text",
      "penalty_flag",
      "penalty_declined",
      "penalty_no_play",
      "penalty_offset",
      "penalty_1st_conv",
      "penalty_text",
      "penalty_detail",
      "yds_penalty",
      tidyr::everything()
    )
  return(pbp)
  
}



#' Select the columns needed for \code{add_play_counts()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

add_play_counts_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "game_play_number",
      "half_play_number",
      "offense_play",
      "defense_play",
      "play",
      "half_play",
      "half",
      "period",
      "clock.minutes",
      "clock.seconds",
      "TimeSecsRem",
      "Under_two",
      "Under_three",
      "down",
      "distance",
      "yards_to_goal",
      "yards_gained",
      "play_type",
      "play_text",
      "kickoff_play",
      "receives_2H_kickoff",
      "offense_receives_2H_kickoff",
      "home",
      "away",
      "pos_team",
      "def_pos_team",
      "lag_pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "pos_score_pts",
      "pos_score_diff_start",
      "pos_score_diff",
      "lag_pos_score_diff",
      "lag_offense_play",
      "lead_offense_play",
      "lead_offense_play2",
      "score_diff",
      "lag_score_diff",
      "score_pts",
      "score_diff_start",
      "lag_off_timeouts",
      "lag_def_timeouts",
      "off_timeouts_rem_before",
      "def_timeouts_rem_before",
      "off_timeout_called",
      "def_timeout_called",
      "lead_play_type",
      "lead_play_type2",
      "lead_play_type3",
      "change_of_poss",
      tidyr::everything()
    )
  return(pbp)
}


#' Select the columns needed for \code{clean_pbp_dat()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

clean_pbp_dat_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "home",
      "away",
      "offense_play",
      "defense_play",
      "orig_play_type",
      "play_type",
      "play_text",
      "yards_to_goal",
      "down",
      "distance",
      "yards_gained",
      "penalty_1st_conv",      
      "pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "lag_pos_team",
      "change_of_pos_team",
      "change_of_poss",
      "def_pos_team",
      "fumble_vec",
      "downs_turnover",
      "turnover_vec",
      "scoring_play",
      "td_play",
      "touchdown",
      "offense_score_play",
      "defense_score_play",
      "td_check",
      "off_timeouts_rem_before",
      "def_timeouts_rem_before",
      "pos_team_timeouts_rem_before",
      "def_pos_team_timeouts_rem_before",
      "rush",
      "rush_td",
      "pass",
      "completion",
      "pass_attempt",
      "target",
      "pass_td",
      "int",
      "int_td",
      "sack_vec",
      "sack",
      "safety",
      "fg_inds",
      "yds_fg",
      "kickoff_play",
      "kickoff_tb",
      "kickoff_onside",
      "kickoff_oob",
      "kickoff_fair_catch",
      "kickoff_downed",
      "kick_play",
      "kickoff_safety",
      "punt",
      "punt_play",
      "punt_tb",
      "punt_oob",
      "punt_fair_catch",
      "punt_downed",
      tidyr::everything()
    )
  return(pbp)
}

#' Select the columns needed for \code{add_yardage()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

add_yardage_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "home",
      "away",
      "offense_play",
      "defense_play",
      "orig_play_type",
      "play_type",
      "play_text",
      "yards_to_goal",
      "down",
      "distance",
      "yards_gained",
      "yds_rushed",
      "yds_receiving",
      "yds_int_return",
      "yds_kickoff",
      "yds_kickoff_return",
      "yds_punted",
      "yds_fumble_return",
      "yds_sacked",
      "yds_penalty",
      "penalty_1st_conv",      
      "pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "change_of_pos_team",
      "change_of_poss",
      "def_pos_team",      
      "log_ydstogo",
      "Goal_To_Go",
      "drive_numbers",
      "number_of_drives",
      "pts_scored",
      "drive_result_detailed",
      "lag_change_of_poss",
      "lag_punt",
      "lag_scoring_play",
      "lag_turnover_vec",
      "lag_downs_turnover",
      "fumble_vec",
      "downs_turnover",
      "turnover_vec",
      "scoring_play",
      "td_play",
      "touchdown",
      "offense_score_play",
      "defense_score_play",
      "lead_play_type",
      "lead_play_type2",
      "lead_play_type3",
      "rush",
      "rush_td",
      "pass",
      "completion",
      "pass_attempt",
      "target",
      "pass_td",
      "int",
      "int_td",
      "sack_vec",
      "sack",
      "safety",
      "fg_inds",
      "yds_fg",
      "kickoff_play",
      "kickoff_tb",
      "kickoff_onside",
      "kickoff_oob",
      "kickoff_fair_catch",
      "kickoff_downed",
      "kick_play",
      "kickoff_safety",
      "punt",
      "punt_play",
      "punt_tb",
      "punt_oob",
      "punt_fair_catch",
      "punt_downed",
      "new_id",
      tidyr::everything()
      
    )
  return(pbp)
}


#' Select the columns needed for \code{add_player_cols()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

add_player_cols_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "home",
      "away",
      "offense_play",
      "defense_play",
      "orig_play_type",
      "play_type",
      "play_text",
      "yards_to_goal",
      "down",
      "distance",
      "yards_gained",
      "rusher_player_name",
      "receiver_player_name",
      "passer_player_name",
      "sack_player_name",
      "sack_player_name2",
      "pass_breakup_player_name",
      "interception_player_name",
      "fg_kicker_player_name",
      "fg_block_player_name",
      "fg_return_player_name",
      "kickoff_player_name",
      "kickoff_returner_player_name",
      "punter_player_name",
      "punt_block_player_name",
      "punt_returner_player_name",
      "punt_block_return_player_name",
      "fumble_player_name",
      "fumble_forced_player_name",
      "fumble_recovered_player_name",
      "penalty_1st_conv",      
      "pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "change_of_pos_team",
      "change_of_poss",
      "def_pos_team",      
      "Goal_To_Go",
      "drive_numbers",
      "number_of_drives",
      "pts_scored",
      "drive_result_detailed",
      "lag_change_of_poss",
      "lag_punt",
      "lag_scoring_play",
      "lag_turnover_vec",
      "lag_downs_turnover",
      "fumble_vec",
      "downs_turnover",
      "turnover_vec",
      "scoring_play",
      "td_play",
      "touchdown",
      "offense_score_play",
      "defense_score_play",
      "lead_play_type",
      "lead_play_type2",
      "lead_play_type3",
      "rush",
      "rush_td",
      "pass",
      "completion",
      "pass_attempt",
      "target",
      "pass_td",
      "int",
      "int_td",
      "sack_vec",
      "sack",
      "safety",
      "fg_inds",
      "yds_fg",
      "kickoff_play",
      "kickoff_tb",
      "kickoff_onside",
      "kickoff_oob",
      "kickoff_fair_catch",
      "kickoff_downed",
      "kick_play",
      "kickoff_safety",
      "punt",
      "punt_play",
      "punt_tb",
      "punt_oob",
      "punt_fair_catch",
      "punt_downed",
      "new_id",
      tidyr::everything()
      
    )
  return(pbp)
}


#' Select the columns needed for \code{clean_drive_dat()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

clean_drive_dat_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "home",
      "away",
      "offense_play",
      "defense_play",
      "orig_play_type",
      "play_type",
      "play_text",
      "yards_to_goal",
      "down",
      "distance",
      "yards_gained",
      "penalty_1st_conv",      
      "pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "change_of_pos_team",
      "change_of_poss",
      "def_pos_team",      
      "log_ydstogo",
      "Goal_To_Go",
      "drive_numbers",
      "number_of_drives",
      "pts_scored",
      "drive_result_detailed",
      "new_drive_pts",
      "drive_scoring",
      "drive_result2",
      "drive_play",
      "drive_play_number",
      "lag_change_of_poss",
      "lag_punt",
      "lag_scoring_play",
      "lag_turnover_vec",
      "lag_downs_turnover",
      "fumble_vec",
      "downs_turnover",
      "turnover_vec",
      "scoring_play",
      "td_play",
      "touchdown",
      "offense_score_play",
      "defense_score_play",
      "off_timeouts_rem_before",
      "def_timeouts_rem_before",
      "pos_team_timeouts_rem_before",
      "def_pos_team_timeouts_rem_before",
      "lead_play_type",
      "lead_play_type2",
      "lead_play_type3",
      "rush",
      "rush_td",
      "pass",
      "completion",
      "pass_attempt",
      "target",
      "pass_td",
      "int",
      "int_td",
      "sack_vec",
      "sack",
      "safety",
      "fg_inds",
      "yds_fg",
      "kickoff_play",
      "kickoff_tb",
      "kickoff_onside",
      "kickoff_oob",
      "kickoff_fair_catch",
      "kickoff_downed",
      "kick_play",
      "kickoff_safety",
      "punt",
      "punt_play",
      "punt_tb",
      "punt_oob",
      "punt_fair_catch",
      "punt_downed",
      "new_id",
      tidyr::everything()
      
    )
  return(pbp)
}


#' Select the columns needed for \code{prep_epa_df_after()}
#' @param pbp (\emph{data.frame} required) Play-by-Play dataframe pulled from API via the `cfb_pbp_data()` function
#' @importFrom dplyr select
#' @importFrom tidyr everything

prep_epa_df_after_select <- function(pbp) {
  
  pbp <- pbp %>%
    dplyr::select(
      "game_id",
      "id_play",
      "game_play_number",
      "half_play_number",      
      "drive_play_number",
      "offense_play",
      "defense_play",
      "half",
      "period",
      "TimeSecsRem",
      "new_TimeSecsRem", 
      "play_type",
      "play_text",
      "yards_to_goal",
      "new_yardline",
      "down",
      "new_down",
      "distance",
      "new_distance",
      "yards_gained",
      "penalty_1st_conv",   
      "end_of_half",
      "orig_play_type",
      "first_by_penalty",
      "first_by_yards",
      "firstD_by_poss",
      "firstD_by_yards",
      "firstD_by_penalty",      
      "pos_team",
      "lead_pos_team",
      "lead_pos_team2",
      "change_of_pos_team",
      "change_of_poss",
      "def_pos_team", 
      "lead_play_type",
      "Under_two",
      "new_Under_two",     
      "log_ydstogo",
      "new_log_ydstogo", 
      "Goal_To_Go",
      "new_Goal_To_Go",
      "turnover_indicator",
      "Under_three",
      "new_id",
      "turnover",
      "drive_start_yards_to_goal",
      "home",
      "away",
      "yds_punted",
      "yds_punt_gained",
      "missing_yard_flag",
      "drive_numbers",
      "number_of_drives",
      "pts_scored",
      "drive_result_detailed",
      "new_drive_pts",
      "drive_scoring",
      "drive_result2",
      "lag_change_of_poss",
      "lag_punt",
      "lag_scoring_play",
      "lag_turnover_vec",
      "lag_downs_turnover",
      "fumble_vec",
      "downs_turnover",
      "turnover_vec",
      "scoring_play",
      "touchdown",
      "offense_score_play",
      "defense_score_play",
      "pos_team_timeouts_rem_before",
      "def_pos_team_timeouts_rem_before",
      "off_timeouts_rem_before",
      "def_timeouts_rem_before",
      "lead_play_type2",
      "lead_play_type3",
      "rush",
      "rush_td",
      "pass",
      "completion",
      "pass_attempt",
      "target",
      "pass_td",
      "int",
      "int_td",
      "sack_vec",
      "sack",
      "safety",
      "fg_inds",
      "yds_fg",
      "kickoff_play",
      "kickoff_tb",
      "kickoff_onside",
      "kickoff_oob",
      "kickoff_fair_catch",
      "kickoff_downed",
      "kick_play",
      "kickoff_safety",
      "punt",
      "punt_play",
      "punt_tb",
      "punt_oob",
      "punt_fair_catch",
      "punt_downed",
      tidyr::everything()
    )
  return(pbp)
}
meysubb/cfbscrapR documentation built on Dec. 15, 2020, 11:26 p.m.