Load calculated 4th down probabilities from `cfbfastR` data.

load_4th_pbp(seasons)

Arguments

seasons

Seasons to load. Must be 2014 and later.

Value

`cfbfastR` data on 4th downs with the `add_4th_probs()` columns added and also the following:

go

100 if a team went for it on 4th down, 0 otherwise. It's 100 and 0 as a convenience for obtaining percent of times going for it.

Examples

# \donttest{
probs <- cfb4th::load_4th_pbp(2019:2020)
#> Loading season 2019
#> Computing probabilities for 15816 plays. . .
#> Loading season 2020
#> Computing probabilities for 10027 plays. . .

dplyr::glimpse(probs)
#> Rows: 263,937
#> Columns: 343
#> $ year                             <dbl> 2019, 2019, 2019, 2019, 2019, 2019, 2…
#> $ week                             <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ id_play                          <dbl> 4.011107e+17, 4.011107e+17, 4.011107e…
#> $ game_id                          <int> 401110720, 401110720, 401110720, 4011…
#> $ game_play_number                 <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12…
#> $ half_play_number                 <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12…
#> $ drive_play_number                <dbl> 1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 1, 2…
#> $ pos_team                         <chr> "Alabama", "Alabama", "Alabama", "Ala…
#> $ def_pos_team                     <chr> "Duke", "Duke", "Duke", "Duke", "Duke…
#> $ pos_team_score                   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ def_pos_team_score               <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ half                             <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ period                           <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ clock.minutes                    <int> 15, 14, 14, 13, 12, 12, 12, 11, 11, 1…
#> $ clock.seconds                    <int> 0, 46, 15, 30, 57, 50, 27, 55, 49, 42…
#> $ play_type                        <chr> "Kickoff", "Rush", "Pass Reception", …
#> $ play_text                        <chr> "AJ Reed kickoff for 65 yds , Henry R…
#> $ down                             <dbl> 1, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 1, 2…
#> $ distance                         <dbl> 10, 10, 9, 7, 13, 10, 11, 7, 7, 10, 4…
#> $ yards_to_goal                    <dbl> 65, 78, 77, 75, 81, 55, 56, 52, 52, 8…
#> $ yards_gained                     <dbl> 22, 1, 2, -6, 3, -1, 4, 0, 35, 6, 3, …
#> $ EPA                              <dbl> -0.27389020, -0.75165109, -0.71866524…
#> $ ep_before                        <dbl> 0.8331681, 0.5592779, -0.1923732, -0.…
#> $ ep_after                         <dbl> 0.5592779, -0.1923732, -0.9110384, -2…
#> $ wpa                              <dbl> -0.0066665, -0.0207255, -0.0163692, -…
#> $ wp_before                        <dbl> 0.4903198, 0.4836533, 0.4629278, 0.44…
#> $ wp_after                         <dbl> 0.4836533, 0.4629278, 0.4465586, 0.37…
#> $ def_wp_before                    <dbl> 0.5096802, 0.5163467, 0.5370722, 0.55…
#> $ def_wp_after                     <dbl> 0.5163467, 0.5370722, 0.5534414, 0.62…
#> $ penalty_detail                   <chr> NA, NA, NA, NA, NA, NA, NA, NA, "Ille…
#> $ yds_penalty                      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ penalty_1st_conv                 <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ new_series                       <dbl> 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0…
#> $ firstD_by_kickoff                <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ firstD_by_poss                   <dbl> 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0…
#> $ firstD_by_penalty                <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ firstD_by_yards                  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ def_EPA                          <dbl> 0.27389020, 0.75165109, 0.71866524, 1…
#> $ home_EPA                         <dbl> -0.27389020, -0.75165109, -0.71866524…
#> $ away_EPA                         <dbl> 0.27389020, 0.75165109, 0.71866524, 1…
#> $ home_EPA_rush                    <dbl> NA, -0.7516511, NA, NA, NA, NA, NA, N…
#> $ away_EPA_rush                    <dbl> NA, NA, NA, NA, NA, -0.98565387, -0.4…
#> $ home_EPA_pass                    <dbl> NA, NA, -0.71866524, -1.95835027, NA,…
#> $ away_EPA_pass                    <dbl> NA, NA, NA, NA, NA, NA, NA, -1.887629…
#> $ total_home_EPA                   <dbl> -0.2738902, -1.0255413, -1.7442065, -…
#> $ total_away_EPA                   <dbl> 0.2738902, 1.0255413, 1.7442065, 3.70…
#> $ total_home_EPA_rush              <dbl> 0.0000000, -0.7516511, -0.7516511, -0…
#> $ total_away_EPA_rush              <dbl> 0.0000000, 0.0000000, 0.0000000, 0.00…
#> $ total_home_EPA_pass              <dbl> 0.0000000, 0.0000000, -0.7186652, -2.…
#> $ total_away_EPA_pass              <dbl> 0.000000, 0.000000, 0.000000, 0.00000…
#> $ net_home_EPA                     <dbl> -0.5477804, -2.0510826, -3.4884131, -…
#> $ net_away_EPA                     <dbl> 0.5477804, 2.0510826, 3.4884131, 7.40…
#> $ net_home_EPA_rush                <dbl> 0.0000000, -0.7516511, -0.7516511, -0…
#> $ net_away_EPA_rush                <dbl> 0.0000000, 0.7516511, 0.7516511, 0.75…
#> $ net_home_EPA_pass                <dbl> 0.00000000, 0.00000000, -0.71866524, …
#> $ net_away_EPA_pass                <dbl> 0.00000000, 0.00000000, 0.71866524, 2…
#> $ success                          <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0…
#> $ epa_success                      <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0…
#> $ rz_play                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ scoring_opp                      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1…
#> $ middle_8                         <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ stuffed_run                      <dbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1…
#> $ change_of_pos_team               <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0…
#> $ downs_turnover                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ turnover                         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0…
#> $ pos_score_diff_start             <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ pos_score_pts                    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ log_ydstogo                      <dbl> 2.302585, 2.302585, 2.197225, 1.94591…
#> $ ExpScoreDiff                     <dbl> 0.8331681, 0.5592779, -0.1923732, -0.…
#> $ ExpScoreDiff_Time_Ratio          <dbl> 2.313713e-04, 1.559180e-04, -5.409820…
#> $ half_clock.minutes               <dbl> 30, 29, 29, 28, 27, 27, 27, 26, 26, 2…
#> $ TimeSecsRem                      <dbl> 1800, 1786, 1755, 1710, 1677, 1670, 1…
#> $ adj_TimeSecsRem                  <dbl> 3600, 3586, 3555, 3510, 3477, 3470, 3…
#> $ Goal_To_Go                       <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ Under_two                        <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ home                             <chr> "Alabama", "Alabama", "Alabama", "Ala…
#> $ away                             <chr> "Duke", "Duke", "Duke", "Duke", "Duke…
#> $ home_wp_before                   <dbl> 0.4903198, 0.4836533, 0.4629278, 0.44…
#> $ away_wp_before                   <dbl> 0.5096802, 0.5163467, 0.5370722, 0.55…
#> $ home_wp_after                    <dbl> 0.4836533, 0.4629278, 0.4465586, 0.37…
#> $ away_wp_after                    <dbl> 0.5163467, 0.5370722, 0.5534414, 0.62…
#> $ end_of_half                      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ pos_team_receives_2H_kickoff     <dbl> 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1…
#> $ lead_pos_team                    <chr> "Alabama", "Alabama", "Alabama", "Ala…
#> $ lead_play_type                   <chr> "Rush", "Pass Reception", "Sack", "Pu…
#> $ lag_pos_team                     <chr> "Alabama", "Alabama", "Alabama", "Ala…
#> $ lag_play_type                    <chr> NA, "Kickoff", "Rush", "Pass Receptio…
#> $ orig_play_type                   <chr> "Kickoff", "Rush", "Pass Reception", …
#> $ Under_three                      <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ down_end                         <dbl> 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 1, 2, 3…
#> $ distance_end                     <dbl> 10, 9, 7, 13, 10, 11, 7, 7, 10, 4, 10…
#> $ log_ydstogo_end                  <dbl> 2.302585, 2.197225, 1.945910, 2.56494…
#> $ yards_to_goal_end                <dbl> 78, 77, 75, 81, 55, 56, 52, 52, 83, 7…
#> $ TimeSecsRem_end                  <dbl> 1786, 1755, 1710, 1677, 1670, 1647, 1…
#> $ Goal_To_Go_end                   <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ Under_two_end                    <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ offense_score_play               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ defense_score_play               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ ppa                              <dbl> NA, -0.51421953, -0.22726486, -0.3379…
#> $ yard_line                        <int> 65, 22, 23, 25, 19, 55, 56, 52, 52, 1…
#> $ scoring                          <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ pos_team_timeouts_rem_before     <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ def_pos_team_timeouts_rem_before <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ pos_team_timeouts                <int> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ def_pos_team_timeouts            <int> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ pos_score_diff                   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ pos_score_diff_start_end         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ offense_play                     <chr> "Duke", "Alabama", "Alabama", "Alabam…
#> $ defense_play                     <chr> "Alabama", "Duke", "Duke", "Duke", "D…
#> $ offense_receives_2H_kickoff      <dbl> 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1…
#> $ change_of_poss                   <dbl> 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0…
#> $ score_pts                        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ score_diff_start                 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ score_diff                       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ offense_score                    <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ defense_score                    <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ offense_conference               <chr> "ACC", "SEC", "SEC", "SEC", "SEC", "A…
#> $ defense_conference               <chr> "SEC", "ACC", "ACC", "ACC", "ACC", "S…
#> $ off_timeout_called               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ def_timeout_called               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ offense_timeouts                 <int> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ defense_timeouts                 <int> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ off_timeouts_rem_before          <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ def_timeouts_rem_before          <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
#> $ rusher_player_name               <chr> NA, "Jerome Ford", NA, NA, NA, "Deon …
#> $ yds_rushed                       <dbl> NA, 1, NA, NA, NA, -1, 4, NA, NA, 6, …
#> $ passer_player_name               <chr> NA, NA, "Tua Tagovailoa", "Tua Tagova…
#> $ receiver_player_name             <chr> NA, NA, "Jerome Ford", NA, NA, NA, NA…
#> $ yds_receiving                    <dbl> NA, NA, 2, NA, NA, NA, NA, NA, NA, NA…
#> $ yds_sacked                       <dbl> NA, NA, NA, -6, NA, NA, NA, NA, NA, N…
#> $ sack_players                     <chr> NA, NA, NA, "Koby Quansah ", NA, NA, …
#> $ sack_player_name                 <chr> NA, NA, NA, "Koby Quansah", NA, NA, N…
#> $ sack_player_name2                <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_breakup_player_name         <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_player_name         <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ yds_int_return                   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_player_name               <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_forced_player_name        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovered_player_name     <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ yds_fumble_return                <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punter_player_name               <chr> NA, NA, NA, NA, "Will Reichard", NA, …
#> $ yds_punted                       <dbl> NA, NA, NA, NA, 39, NA, NA, NA, 40, N…
#> $ punt_returner_player_name        <chr> NA, NA, NA, NA, "Josh Blackwell", NA,…
#> $ yds_punt_return                  <dbl> NA, NA, NA, NA, 3, NA, NA, NA, 0, NA,…
#> $ yds_punt_gained                  <dbl> NA, NA, NA, NA, 3, NA, NA, NA, 35, NA…
#> $ punt_block_player_name           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punt_block_return_player_name    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fg_kicker_player_name            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ yds_fg                           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fg_block_player_name             <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fg_return_player_name            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kickoff_player_name              <chr> "AJ Reed", NA, NA, NA, NA, NA, NA, NA…
#> $ yds_kickoff                      <dbl> 65, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kickoff_returner_player_name     <chr> "Henry Ruggs III", NA, NA, NA, NA, NA…
#> $ yds_kickoff_return               <dbl> 22, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ new_id                           <dbl> 101849902, 101855301, 101858401, 1018…
#> $ orig_drive_number                <int> 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4…
#> $ drive_number                     <int> 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4…
#> $ drive_result_detailed            <chr> "Punt", "Punt", "Punt", "Punt", "Punt…
#> $ new_drive_pts                    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ drive_id                         <dbl> 4011107201, 4011107201, 4011107201, 4…
#> $ drive_result                     <chr> "PUNT", "PUNT", "PUNT", "PUNT", "PUNT…
#> $ drive_start_yards_to_goal        <dbl> 78, 78, 78, 78, 78, 55, 55, 55, 55, 8…
#> $ drive_end_yards_to_goal          <int> 81, 81, 81, 81, 81, 52, 52, 52, 52, 7…
#> $ drive_yards                      <int> -3, -3, -3, -3, -3, 3, 3, 3, 3, 9, 9,…
#> $ drive_scoring                    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ drive_pts                        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ drive_start_period               <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ drive_end_period                 <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ drive_time_minutes_start         <int> 15, 15, 15, 15, 15, 12, 12, 12, 12, 1…
#> $ drive_time_seconds_start         <int> 0, 0, 0, 0, 0, 57, 57, 57, 57, 49, 49…
#> $ drive_time_minutes_end           <int> 12, 12, 12, 12, 12, 11, 11, 11, 11, 1…
#> $ drive_time_seconds_end           <int> 57, 57, 57, 57, 57, 49, 49, 49, 49, 2…
#> $ drive_time_minutes_elapsed       <int> 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 2, 2…
#> $ drive_time_seconds_elapsed       <int> 3, 3, 3, 3, 3, 8, 8, 8, 8, 25, 25, 56…
#> $ drive_numbers                    <dbl> 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0…
#> $ number_of_drives                 <dbl> 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4…
#> $ pts_scored                       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ drive_result_detailed_flag       <chr> NA, NA, NA, NA, "Punt", NA, NA, NA, "…
#> $ drive_result2                    <chr> "PUNT", "PUNT", "PUNT", "PUNT", "PUNT…
#> $ drive_num                        <dbl> 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4…
#> $ lag_drive_result_detailed        <chr> NA, "Punt", "Punt", "Punt", "Punt", "…
#> $ lead_drive_result_detailed       <chr> "Punt", "Punt", "Punt", "Punt", "Punt…
#> $ lag_new_drive_pts                <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ id_drive                         <dbl> 4011107201, 4011107201, 4011107201, 4…
#> $ rush                             <dbl> 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1…
#> $ rush_td                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ pass                             <dbl> 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0…
#> $ pass_td                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ completion                       <dbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ pass_attempt                     <dbl> 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0…
#> $ target                           <dbl> 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0…
#> $ sack_vec                         <dbl> 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ sack                             <dbl> 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ int                              <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ int_td                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ turnover_vec                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0…
#> $ turnover_vec_lag                 <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, …
#> $ turnover_indicator               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_play                     <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ receives_2H_kickoff              <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ missing_yard_flag                <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ scoring_play                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ td_play                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ touchdown                        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ safety                           <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ fumble_vec                       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0…
#> $ kickoff_tb                       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_onside                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_oob                      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_fair_catch               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_downed                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kickoff_safety                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ kick_play                        <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ punt                             <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0…
#> $ punt_play                        <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0…
#> $ punt_tb                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ punt_oob                         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ punt_fair_catch                  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0…
#> $ punt_downed                      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ punt_safety                      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ punt_blocked                     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ penalty_safety                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ fg_inds                          <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ fg_made                          <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ No_Score_before                  <dbl> 0.001775325, 0.002222828, 0.002621234…
#> $ FG_before                        <dbl> 0.17034659, 0.13957973, 0.12765729, 0…
#> $ Opp_FG_before                    <dbl> 0.08920160, 0.11677911, 0.13178555, 0…
#> $ Opp_Safety_before                <dbl> 0.0019152826, 0.0039577322, 0.0042226…
#> $ Opp_TD_before                    <dbl> 0.26040379, 0.33202649, 0.37797217, 0…
#> $ Safety_before                    <dbl> 0.002949699, 0.003012376, 0.003185186…
#> $ TD_before                        <dbl> 0.4734077, 0.4024217, 0.3525560, 0.31…
#> $ No_Score_after                   <dbl> 0.002222828, 0.002621234, 0.003070324…
#> $ FG_after                         <dbl> 0.13957973, 0.12765729, 0.10311895, 0…
#> $ Opp_FG_after                     <dbl> 0.11677911, 0.13178555, 0.14795416, 0…
#> $ Opp_Safety_after                 <dbl> 0.0039577322, 0.0042226245, 0.0044297…
#> $ Opp_TD_after                     <dbl> 0.33202649, 0.37797217, 0.42432964, 0…
#> $ Safety_after                     <dbl> 0.003012376, 0.003185186, 0.003409132…
#> $ TD_after                         <dbl> 0.4024217, 0.3525560, 0.3136880, 0.20…
#> $ position_reception               <chr> NA, NA, "RB", NA, NA, NA, NA, NA, NA,…
#> $ position_target                  <chr> NA, NA, "RB", NA, NA, NA, NA, "RB", N…
#> $ position_completion              <chr> NA, NA, "QB", NA, NA, NA, NA, NA, NA,…
#> $ position_incompletion            <chr> NA, NA, NA, NA, NA, NA, NA, "QB", NA,…
#> $ position_sack_taken              <chr> NA, NA, NA, "QB", NA, NA, NA, NA, NA,…
#> $ position_sack                    <chr> NA, NA, NA, "LB", NA, NA, NA, NA, NA,…
#> $ position_interception_thrown     <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_interception            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_fumble                  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_fumble_forced           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_fumble_recovered        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_pass_breakup            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ position_rush                    <chr> NA, "RB", NA, NA, NA, "RB", "RB", NA,…
#> $ position_touchdown               <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ season                           <int> NA, 2019, 2019, 2019, NA, 2019, 2019,…
#> $ opponent                         <chr> NA, "Duke", "Duke", "Alabama", NA, "A…
#> $ team_score                       <int> NA, 0, 0, 0, NA, 0, 0, 0, NA, 0, 0, 0…
#> $ opponent_score                   <int> NA, 0, 0, 0, NA, 0, 0, 0, NA, 0, 0, 0…
#> $ rush_player_id                   <dbl> NA, 4372019, NA, NA, NA, 4240455, 424…
#> $ rush_player                      <chr> NA, "Jerome Ford", NA, NA, NA, "Deon …
#> $ rush_yds                         <int> NA, 1, NA, NA, NA, -1, 4, NA, NA, 6, …
#> $ reception_player_id              <dbl> NA, NA, 4372019, NA, NA, NA, NA, NA, …
#> $ reception_player                 <chr> NA, NA, "Jerome Ford", NA, NA, NA, NA…
#> $ reception_yds                    <int> NA, NA, 2, NA, NA, NA, NA, NA, NA, NA…
#> $ completion_player_id             <dbl> NA, NA, 4241479, NA, NA, NA, NA, NA, …
#> $ completion_player                <chr> NA, NA, "Tua Tagovailoa", NA, NA, NA,…
#> $ completion_yds                   <int> NA, NA, 2, NA, NA, NA, NA, NA, NA, NA…
#> $ interception_player_id           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_player              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_stat                <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_thrown_player_id    <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_thrown_player       <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_thrown_stat         <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ touchdown_player_id              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ touchdown_player                 <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ touchdown_stat                   <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ incompletion_player_id           <dbl> NA, NA, NA, NA, NA, NA, NA, 3917793, …
#> $ incompletion_player              <chr> NA, NA, NA, NA, NA, NA, NA, "Quentin …
#> $ incompletion_stat                <int> NA, NA, NA, NA, NA, NA, NA, 1, NA, NA…
#> $ target_player_id                 <dbl> NA, NA, NA, NA, NA, NA, NA, 4240455, …
#> $ target_player                    <chr> NA, NA, NA, NA, NA, NA, NA, "Deon Jac…
#> $ target_stat                      <int> NA, NA, NA, NA, NA, NA, NA, 1, NA, NA…
#> $ fumble_recovered_player_id       <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovered_player          <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovered_stat            <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_forced_player_id          <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_forced_player             <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_forced_stat               <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_player_id                 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_player                    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_stat                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ sack_player_id                   <dbl> NA, NA, NA, 4036041, NA, NA, NA, NA, …
#> $ sack_player                      <chr> NA, NA, NA, "Koby Quansah", NA, NA, N…
#> $ sack_stat                        <int> NA, NA, NA, 1, NA, NA, NA, NA, NA, NA…
#> $ sack_taken_player_id             <dbl> NA, NA, NA, 4241479, NA, NA, NA, NA, …
#> $ sack_taken_player                <chr> NA, NA, NA, "Tua Tagovailoa", NA, NA,…
#> $ sack_taken_stat                  <int> NA, NA, NA, 6, NA, NA, NA, NA, NA, NA…
#> $ pass_breakup_player_id           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_breakup_player              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_breakup_stat                <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ play_id                          <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ penalty_flag                     <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ penalty_declined                 <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ penalty_no_play                  <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ penalty_offset                   <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ penalty_text                     <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FA…
#> $ penalty_play_text                <chr> NA, NA, NA, NA, NA, NA, NA, NA, "Pena…
#> $ row                              <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12…
#> $ drive_event_number               <dbl> 1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 1, 2…
#> $ lag_play_type2                   <chr> NA, NA, "Kickoff", "Rush", "Pass Rece…
#> $ lag_play_type3                   <chr> NA, NA, NA, "Kickoff", "Rush", "Pass …
#> $ lag_play_text                    <chr> NA, "AJ Reed kickoff for 65 yds , Hen…
#> $ lag_play_text2                   <chr> NA, NA, "AJ Reed kickoff for 65 yds ,…
#> $ lead_play_text                   <chr> "Jerome Ford run for 1 yd to the Alab…
#> $ lag_first_by_penalty             <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ lag_first_by_penalty2            <dbl> NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ lag_first_by_yards               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ lag_first_by_yards2              <dbl> NA, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ first_by_penalty                 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ first_by_yards                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ play_after_turnover              <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, …
#> $ lag_change_of_poss               <dbl> 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0…
#> $ lag_change_of_pos_team           <dbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0…
#> $ lag_change_of_pos_team2          <dbl> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1…
#> $ lag_kickoff_play                 <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ lag_punt                         <dbl> 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0…
#> $ lag_punt2                        <dbl> 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0…
#> $ lag_scoring_play                 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ lag_turnover_vec                 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0…
#> $ lag_downs_turnover               <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ lag_defense_score_play           <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ spread                           <dbl> -34.5, -34.5, -34.5, -34.5, -34.5, -3…
#> $ over_under                       <dbl> 57, 57, 57, 57, 57, 57, 57, 57, 57, 5…
#> $ go_boost                         <dbl> NA, NA, NA, NA, -0.8616093, NA, NA, N…
#> $ first_down_prob                  <dbl> NA, NA, NA, NA, 0.2829490, NA, NA, NA…
#> $ wp_fail                          <dbl> NA, NA, NA, NA, 0.95714505, NA, NA, N…
#> $ wp_succeed                       <dbl> NA, NA, NA, NA, 0.98745113, NA, NA, N…
#> $ go_wp                            <dbl> NA, NA, NA, NA, 0.96572014, NA, NA, N…
#> $ fg_make_prob                     <dbl> NA, NA, NA, NA, 0.0000000, NA, NA, NA…
#> $ miss_fg_wp                       <dbl> NA, NA, NA, NA, 0.95221632, NA, NA, N…
#> $ make_fg_wp                       <dbl> NA, NA, NA, NA, 0.98490584, NA, NA, N…
#> $ fg_wp                            <dbl> NA, NA, NA, NA, 0.95221632, NA, NA, N…
#> $ punt_wp                          <dbl> NA, NA, NA, NA, 0.97433623, NA, NA, N…
#> $ go                               <dbl> 0, 100, 100, 100, 0, 100, 100, 100, 0…
# \dontshow{
# Close open connections for R CMD Check
future::plan("sequential")
# }
# }