Loads play by play seasons from the nflverse-data repository
Arguments
- ...
Arguments passed on to
nflreadr::load_pbp
seasons
A numeric vector of 4-digit years associated with given NFL seasons - defaults to latest season. If set to
TRUE
, returns all available data since 1999.file_type
One of
c("rds", "qs", "csv", "parquet")
. Can also be set globally withoptions(nflreadr.prefer)
Value
The complete nflfastR dataset as returned by nflfastR::build_nflfastR_pbp()
(see below) for all given seasons
See also
https://nflreadr.nflverse.com/articles/dictionary_pbp.html for a web version of the data dictionary
dictionary_pbp
for the data dictionary bundled as a package dataframe
https://www.nflfastr.com/reference/build_nflfastR_pbp.html for the nflfastR function nflfastR::build_nflfastR_pbp()
Issues with this data should be filed here: https://github.com/nflverse/nflfastR-data
Examples
# \donttest{
pbp <- load_pbp(2019:2020)
dplyr::glimpse(pbp)
#> Rows: 96,548
#> Columns: 372
#> $ play_id <dbl> 1, 36, 51, 79, 100, 121, 148, 185…
#> $ game_id <chr> "2019_01_ATL_MIN", "2019_01_ATL_M…
#> $ old_game_id <chr> "2019090804", "2019090804", "2019…
#> $ home_team <chr> "MIN", "MIN", "MIN", "MIN", "MIN"…
#> $ away_team <chr> "ATL", "ATL", "ATL", "ATL", "ATL"…
#> $ season_type <chr> "REG", "REG", "REG", "REG", "REG"…
#> $ week <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
#> $ posteam <chr> NA, "ATL", "ATL", "ATL", "ATL", "…
#> $ posteam_type <chr> NA, "away", "away", "away", "away…
#> $ defteam <chr> NA, "MIN", "MIN", "MIN", "MIN", "…
#> $ side_of_field <chr> NA, "MIN", "ATL", "ATL", "ATL", "…
#> $ yardline_100 <dbl> NA, 35, 75, 83, 79, 67, 21, 31, 2…
#> $ game_date <chr> "2019-09-08", "2019-09-08", "2019…
#> $ quarter_seconds_remaining <dbl> 900, 900, 900, 860, 821, 779, 773…
#> $ half_seconds_remaining <dbl> 1800, 1800, 1800, 1760, 1721, 167…
#> $ game_seconds_remaining <dbl> 3600, 3600, 3600, 3560, 3521, 347…
#> $ game_half <chr> "Half1", "Half1", "Half1", "Half1…
#> $ quarter_end <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ drive <dbl> NA, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3,…
#> $ sp <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, …
#> $ qtr <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
#> $ down <dbl> NA, NA, 1, 2, 3, 4, 1, 1, 2, NA, …
#> $ goal_to_go <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ time <chr> "15:00", "15:00", "15:00", "14:20…
#> $ yrdln <chr> "MIN 35", "MIN 35", "ATL 25", "AT…
#> $ ydstogo <dbl> 0, 0, 10, 18, 14, 2, 10, 20, 12, …
#> $ ydsnet <dbl> NA, 8, 8, 8, 8, 8, 21, 21, 21, 21…
#> $ desc <chr> "GAME", "5-D.Bailey kicks 65 yard…
#> $ play_type <chr> NA, "kickoff", "pass", "run", "ru…
#> $ yards_gained <dbl> NA, 0, -8, 4, 12, 0, 0, 8, 23, 0,…
#> $ shotgun <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, …
#> $ no_huddle <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ qb_dropback <dbl> NA, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0,…
#> $ qb_kneel <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ qb_spike <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ qb_scramble <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, …
#> $ pass_length <chr> NA, NA, NA, NA, NA, NA, NA, "shor…
#> $ pass_location <chr> NA, NA, NA, NA, NA, NA, NA, "left…
#> $ air_yards <dbl> NA, NA, NA, NA, NA, NA, NA, 1, 11…
#> $ yards_after_catch <dbl> NA, NA, NA, NA, NA, NA, NA, 7, 12…
#> $ run_location <chr> NA, NA, NA, "right", "left", NA, …
#> $ run_gap <chr> NA, NA, NA, "tackle", "end", NA, …
#> $ field_goal_result <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kick_distance <dbl> NA, NA, NA, NA, NA, 0, NA, NA, NA…
#> $ extra_point_result <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ two_point_conv_result <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ home_timeouts_remaining <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, …
#> $ away_timeouts_remaining <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, …
#> $ timeout <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ timeout_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ td_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, "…
#> $ td_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, "…
#> $ td_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, "…
#> $ posteam_timeouts_remaining <dbl> NA, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
#> $ defteam_timeouts_remaining <dbl> NA, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
#> $ total_home_score <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 7, …
#> $ total_away_score <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ posteam_score <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,…
#> $ defteam_score <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,…
#> $ score_differential <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7…
#> $ posteam_score_post <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0,…
#> $ defteam_score_post <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,…
#> $ score_differential_post <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 6, 7, -7…
#> $ no_score_prob <dbl> 0.000000000, 0.003473236, 0.00347…
#> $ opp_fg_prob <dbl> 0.00000000, 0.12887874, 0.1288787…
#> $ opp_safety_prob <dbl> 0.0000000000, 0.0022700424, 0.002…
#> $ opp_td_prob <dbl> 0.00000000, 0.27208826, 0.2720882…
#> $ fg_prob <dbl> 0.0000000, 0.2081953, 0.2081953, …
#> $ safety_prob <dbl> 0.0000000000, 0.0032402442, 0.003…
#> $ td_prob <dbl> 0.0000000, 0.3818542, 0.3818542, …
#> $ extra_point_prob <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ two_point_conversion_prob <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ ep <dbl> 1.0082514, 1.0082514, 1.0082514, …
#> $ epa <dbl> 0.00000000, 0.00000000, -1.658763…
#> $ total_home_epa <dbl> 0.000000, 0.000000, 1.658763, 2.1…
#> $ total_away_epa <dbl> 0.000000, 0.000000, -1.658763, -2…
#> $ total_home_rush_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_away_rush_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_home_pass_epa <dbl> 0.000000, 0.000000, 1.658763, 1.6…
#> $ total_away_pass_epa <dbl> 0.000000, 0.000000, -1.658763, -1…
#> $ air_epa <dbl> NA, NA, NA, NA, NA, NA, NA, -0.55…
#> $ yac_epa <dbl> NA, NA, NA, NA, NA, NA, NA, 0.811…
#> $ comp_air_epa <dbl> NA, 0.0000000, 0.0000000, 0.00000…
#> $ comp_yac_epa <dbl> NA, 0.0000000, 0.0000000, 0.00000…
#> $ total_home_comp_air_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_away_comp_air_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_home_comp_yac_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_away_comp_yac_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_home_raw_air_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_away_raw_air_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_home_raw_yac_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ total_away_raw_yac_epa <dbl> 0.0000000, 0.0000000, 0.0000000, …
#> $ wp <dbl> 0.4332080, 0.4332080, 0.4332080, …
#> $ def_wp <dbl> 0.5667920, 0.5667920, 0.5667920, …
#> $ home_wp <dbl> 0.5667920, 0.5667920, 0.5667920, …
#> $ away_wp <dbl> 0.4332080, 0.4332080, 0.4332080, …
#> $ wpa <dbl> 0.0000000000, 0.0000000000, -0.03…
#> $ vegas_wpa <dbl> 0.0000000000, 0.0000000000, -0.04…
#> $ vegas_home_wpa <dbl> 0.0000000000, 0.0000000000, 0.049…
#> $ home_wp_post <dbl> NA, 0.5667920, 0.6018074, 0.62024…
#> $ away_wp_post <dbl> NA, 0.4332080, 0.3981926, 0.37975…
#> $ vegas_wp <dbl> 0.36757040, 0.36757040, 0.3675704…
#> $ vegas_home_wp <dbl> 0.6324296, 0.6324296, 0.6324296, …
#> $ total_home_rush_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_away_rush_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_home_pass_wpa <dbl> 0.00000000, 0.00000000, 0.0350153…
#> $ total_away_pass_wpa <dbl> 0.00000000, 0.00000000, -0.035015…
#> $ air_wpa <dbl> NA, NA, NA, NA, NA, NA, NA, 0.000…
#> $ yac_wpa <dbl> NA, NA, NA, NA, NA, NA, NA, 0.006…
#> $ comp_air_wpa <dbl> NA, 0.0000000000, 0.0000000000, 0…
#> $ comp_yac_wpa <dbl> NA, 0.0000000000, 0.0000000000, 0…
#> $ total_home_comp_air_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_away_comp_air_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_home_comp_yac_wpa <dbl> 0.000000000, 0.000000000, 0.00000…
#> $ total_away_comp_yac_wpa <dbl> 0.000000000, 0.000000000, 0.00000…
#> $ total_home_raw_air_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_away_raw_air_wpa <dbl> 0.0000000000, 0.0000000000, 0.000…
#> $ total_home_raw_yac_wpa <dbl> 0.000000000, 0.000000000, 0.00000…
#> $ total_away_raw_yac_wpa <dbl> 0.000000000, 0.000000000, 0.00000…
#> $ punt_blocked <dbl> NA, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,…
#> $ first_down_rush <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ first_down_pass <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,…
#> $ first_down_penalty <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ third_down_converted <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ third_down_failed <dbl> NA, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,…
#> $ fourth_down_converted <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ fourth_down_failed <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ incomplete_pass <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ touchback <dbl> 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ interception <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ punt_inside_twenty <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ punt_in_endzone <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ punt_out_of_bounds <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ punt_downed <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ punt_fair_catch <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ kickoff_inside_twenty <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
#> $ kickoff_in_endzone <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
#> $ kickoff_out_of_bounds <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ kickoff_downed <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ kickoff_fair_catch <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ fumble_forced <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ fumble_not_forced <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ fumble_out_of_bounds <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ solo_tackle <dbl> NA, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1,…
#> $ safety <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ penalty <dbl> NA, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
#> $ tackled_for_loss <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ fumble_lost <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ own_kickoff_recovery <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ own_kickoff_recovery_td <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ qb_hit <dbl> NA, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,…
#> $ rush_attempt <dbl> NA, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,…
#> $ pass_attempt <dbl> NA, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,…
#> $ sack <dbl> NA, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ touchdown <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,…
#> $ pass_touchdown <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,…
#> $ rush_touchdown <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ return_touchdown <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ extra_point_attempt <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,…
#> $ two_point_attempt <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ field_goal_attempt <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ kickoff_attempt <dbl> NA, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,…
#> $ punt_attempt <dbl> NA, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,…
#> $ fumble <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ complete_pass <dbl> NA, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,…
#> $ assist_tackle <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ lateral_reception <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ lateral_rush <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ lateral_return <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ lateral_recovery <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ passer_player_id <chr> NA, NA, "00-0026143", NA, NA, NA,…
#> $ passer_player_name <chr> NA, NA, "M.Ryan", NA, NA, NA, NA,…
#> $ passing_yards <dbl> NA, NA, NA, NA, NA, NA, NA, 8, 23…
#> $ receiver_player_id <chr> NA, NA, NA, NA, NA, NA, NA, "00-0…
#> $ receiver_player_name <chr> NA, NA, NA, NA, NA, NA, NA, "D.Co…
#> $ receiving_yards <dbl> NA, NA, NA, NA, NA, NA, NA, 8, 23…
#> $ rusher_player_id <chr> NA, NA, NA, "00-0031285", "00-002…
#> $ rusher_player_name <chr> NA, NA, NA, "D.Freeman", "M.Ryan"…
#> $ rushing_yards <dbl> NA, NA, NA, 4, 12, NA, NA, NA, NA…
#> $ lateral_receiver_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_receiver_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_receiving_yards <dbl> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_rusher_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_rusher_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_rushing_yards <dbl> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_sack_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_sack_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ interception_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_interception_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_interception_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punt_returner_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punt_returner_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_punt_returner_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_punt_returner_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kickoff_returner_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kickoff_returner_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_kickoff_returner_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ lateral_kickoff_returner_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punter_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ punter_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ kicker_player_name <chr> NA, "D.Bailey", NA, NA, NA, NA, N…
#> $ kicker_player_id <chr> NA, "00-0028660", NA, NA, NA, NA,…
#> $ own_kickoff_recovery_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ own_kickoff_recovery_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ blocked_player_id <chr> NA, NA, NA, NA, NA, "00-0033336",…
#> $ blocked_player_name <chr> NA, NA, NA, NA, NA, "E.Wilson", N…
#> $ tackle_for_loss_1_player_id <chr> NA, NA, "00-0031256", NA, NA, NA,…
#> $ tackle_for_loss_1_player_name <chr> NA, NA, "A.Barr", NA, NA, NA, NA,…
#> $ tackle_for_loss_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_for_loss_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ qb_hit_1_player_id <chr> NA, NA, "00-0031256", NA, NA, NA,…
#> $ qb_hit_1_player_name <chr> NA, NA, "A.Barr", NA, NA, NA, NA,…
#> $ qb_hit_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ qb_hit_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_1_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ forced_fumble_player_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ solo_tackle_1_team <chr> NA, NA, "MIN", "MIN", "MIN", "ATL…
#> $ solo_tackle_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ solo_tackle_1_player_id <chr> NA, NA, "00-0031256", "00-0031242…
#> $ solo_tackle_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ solo_tackle_1_player_name <chr> NA, NA, "A.Barr", "S.Stephen", "A…
#> $ solo_tackle_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_1_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_3_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_3_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_3_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_4_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_4_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ assist_tackle_4_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ tackle_with_assist_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist_1_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ tackle_with_assist_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_defense_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_defense_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_defense_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ pass_defense_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_1_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumbled_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_1_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_1_yards <dbl> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_2_team <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_2_yards <dbl> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ fumble_recovery_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ sack_player_id <chr> NA, NA, "00-0031256", NA, NA, NA,…
#> $ sack_player_name <chr> NA, NA, "A.Barr", NA, NA, NA, NA,…
#> $ half_sack_1_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ half_sack_1_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ half_sack_2_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ half_sack_2_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ return_team <chr> NA, "ATL", NA, NA, NA, NA, NA, NA…
#> $ return_yards <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18…
#> $ penalty_team <chr> NA, NA, NA, NA, NA, NA, "MIN", NA…
#> $ penalty_player_id <chr> NA, NA, NA, NA, NA, NA, "00-00279…
#> $ penalty_player_name <chr> NA, NA, NA, NA, NA, NA, "K.Rudolp…
#> $ penalty_yards <dbl> NA, NA, NA, NA, NA, NA, 10, NA, N…
#> $ replay_or_challenge <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ replay_or_challenge_result <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ penalty_type <chr> NA, NA, NA, NA, NA, NA, "Offensiv…
#> $ defensive_two_point_attempt <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ defensive_two_point_conv <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ defensive_extra_point_attempt <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ defensive_extra_point_conv <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ safety_player_name <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ safety_player_id <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ season <int> 2019, 2019, 2019, 2019, 2019, 201…
#> $ cp <dbl> NA, NA, NA, NA, NA, NA, NA, 0.844…
#> $ cpoe <dbl> NA, NA, NA, NA, NA, NA, NA, 15.57…
#> $ series <dbl> 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, …
#> $ series_success <dbl> 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, …
#> $ series_result <chr> "Punt", "Punt", "Punt", "Punt", "…
#> $ order_sequence <dbl> 1, 36, 51, 79, 100, 121, 148, 185…
#> $ start_time <chr> "13:00:00", "13:00:00", "13:00:00…
#> $ time_of_day <chr> NA, "17:04:02", "17:04:42", "17:0…
#> $ stadium <chr> "U.S. Bank Stadium", "U.S. Bank S…
#> $ weather <chr> "N/A (Indoors) Temp: ° F, Wind: …
#> $ nfl_api_id <chr> "10160000-0579-055e-7350-c0a2552a…
#> $ play_clock <chr> "0", "10", "12", "5", "7", "17", …
#> $ play_deleted <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ play_type_nfl <chr> "GAME_START", "KICK_OFF", "SACK",…
#> $ special_teams_play <dbl> 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, …
#> $ st_play_type <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ end_clock_time <chr> NA, NA, NA, NA, NA, "12:53", NA, …
#> $ end_yard_line <chr> NA, "ATL 25", "ATL 17", "ATL 21",…
#> $ fixed_drive <dbl> 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, …
#> $ fixed_drive_result <chr> "Punt", "Punt", "Punt", "Punt", "…
#> $ drive_real_start_time <chr> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ drive_play_count <dbl> NA, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3,…
#> $ drive_time_of_possession <chr> NA, "2:07", "2:07", "2:07", "2:07…
#> $ drive_first_downs <dbl> NA, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,…
#> $ drive_inside20 <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ drive_ended_with_score <dbl> NA, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,…
#> $ drive_quarter_start <dbl> NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
#> $ drive_quarter_end <dbl> NA, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
#> $ drive_yards_penalized <dbl> NA, 0, 0, 0, 0, 0, -10, -10, -10,…
#> $ drive_start_transition <chr> NA, "KICKOFF", "KICKOFF", "KICKOF…
#> $ drive_end_transition <chr> NA, "BLOCKED_PUNT", "BLOCKED_PUNT…
#> $ drive_game_clock_start <chr> NA, "15:00", "15:00", "15:00", "1…
#> $ drive_game_clock_end <chr> NA, "12:53", "12:53", "12:53", "1…
#> $ drive_start_yard_line <chr> NA, "ATL 25", "ATL 25", "ATL 25",…
#> $ drive_end_yard_line <chr> NA, "ATL 33", "ATL 33", "ATL 33",…
#> $ drive_play_id_started <dbl> NA, 36, 36, 36, 36, 36, 148, 148,…
#> $ drive_play_id_ended <dbl> NA, 121, 121, 121, 121, 121, 239,…
#> $ away_score <int> 12, 12, 12, 12, 12, 12, 12, 12, 1…
#> $ home_score <int> 28, 28, 28, 28, 28, 28, 28, 28, 2…
#> $ location <chr> "Home", "Home", "Home", "Home", "…
#> $ result <int> 16, 16, 16, 16, 16, 16, 16, 16, 1…
#> $ total <int> 40, 40, 40, 40, 40, 40, 40, 40, 4…
#> $ spread_line <dbl> 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5…
#> $ total_line <dbl> 47, 47, 47, 47, 47, 47, 47, 47, 4…
#> $ div_game <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ roof <chr> "dome", "dome", "dome", "dome", "…
#> $ surface <chr> "sportturf", "sportturf", "sportt…
#> $ temp <int> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ wind <int> NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ home_coach <chr> "Mike Zimmer", "Mike Zimmer", "Mi…
#> $ away_coach <chr> "Dan Quinn", "Dan Quinn", "Dan Qu…
#> $ stadium_id <chr> "MIN01", "MIN01", "MIN01", "MIN01…
#> $ game_stadium <chr> "U.S. Bank Stadium", "U.S. Bank S…
#> $ aborted_play <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ success <dbl> 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, …
#> $ passer <chr> NA, NA, "M.Ryan", NA, "M.Ryan", N…
#> $ passer_jersey_number <int> NA, NA, 2, NA, 2, NA, NA, 8, 8, N…
#> $ rusher <chr> NA, NA, NA, "D.Freeman", NA, NA, …
#> $ rusher_jersey_number <int> NA, NA, NA, 24, 2, NA, 33, NA, NA…
#> $ receiver <chr> NA, NA, NA, NA, NA, NA, NA, "D.Co…
#> $ receiver_jersey_number <int> NA, NA, NA, NA, NA, NA, NA, 33, 1…
#> $ pass <dbl> 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, …
#> $ rush <dbl> 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, …
#> $ first_down <dbl> NA, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,…
#> $ special <dbl> 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, …
#> $ play <dbl> 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, …
#> $ passer_id <chr> NA, NA, "00-0026143", NA, "00-002…
#> $ rusher_id <chr> NA, NA, NA, "00-0031285", NA, NA,…
#> $ receiver_id <chr> NA, NA, NA, NA, NA, NA, NA, "00-0…
#> $ name <chr> NA, NA, "M.Ryan", "D.Freeman", "M…
#> $ jersey_number <int> NA, NA, 2, 24, 2, NA, 33, 8, 8, N…
#> $ id <chr> NA, NA, "00-0026143", "00-0031285…
#> $ fantasy_player_name <chr> NA, NA, NA, "D.Freeman", "M.Ryan"…
#> $ fantasy_player_id <chr> NA, NA, NA, "00-0031285", "00-002…
#> $ fantasy <chr> NA, NA, NA, "D.Freeman", "M.Ryan"…
#> $ fantasy_id <chr> NA, NA, NA, "00-0031285", "00-002…
#> $ out_of_bounds <dbl> 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, …
#> $ home_opening_kickoff <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ qb_epa <dbl> 0.00000000, 0.00000000, -1.658763…
#> $ xyac_epa <dbl> NA, NA, NA, NA, NA, NA, NA, 0.747…
#> $ xyac_mean_yardage <dbl> NA, NA, NA, NA, NA, NA, NA, 6.732…
#> $ xyac_median_yardage <int> NA, NA, NA, NA, NA, NA, NA, 6, 0,…
#> $ xyac_success <dbl> NA, NA, NA, NA, NA, NA, NA, 0.505…
#> $ xyac_fd <dbl> NA, NA, NA, NA, NA, NA, NA, 0.053…
#> $ xpass <dbl> NA, NA, 0.4867992, 0.6399938, 0.9…
#> $ pass_oe <dbl> NA, NA, 51.320082, -63.999379, 6.…
# }