Skip to contents

Obtain WR stats from NFL cumulative season stats for a specified time frame from either a saved database or nflreadr::load_pbp(). The stats are obtained using play-by-play data, NFL Next Gen Stats (NGS) and Pro Football Reference (PFR).

Usage

get_wr_combined_stats_season(pbp_db = NULL, pbp_db_tbl = NULL, seasons = NULL)

Format

A data frame with 61 variables that are described below.

player_id

Player gsis id (e.g., 00-0034796)

player_display_name

Player name (e.g., Lamar Jackson)

player_name

Player shortened name (e.g., L.Jackson)

pos

Player position (e.g., QB)

tm

Player team (e.g., BAL)

g

Number of games played

tgt

Number of pass plays where the player was targeted as a receiver from PBP data

rec

Number of pass receptions. Lateral receptions don't count as a reception from PBP data

rec_yds

Yards gained after a pass reception. Includes yards gained after receiving a lateral on a play that started as a pass play from PBP data

rec_td

Number of reception touchdowns, including after receiving a lateral on a play that began as a pass play from PBP data

avg_yac

Average yards after catch (YAC) from NGS

avg_expected_yac

Average expected yards after catch (xYAC) from NGS

avg_yac_above_expectation

Average yards after catch above expectation (+/-) from NGS

yac

Yards after catch (YAC) from PFR

yac_r

Yards after catch (YAC) per reception from PFR

adot

Average depth of target (ADOT) when targeted, whether completed or not, from PFR

receiving_epa

Expected points added on receptions from PBP data

racr

Receiving Air Conversion Ratio. RACR = receiving_yards / receiving_air_yards from PBP

wopr

Weighted Opportunity Rating. WOPR = 1.5 x target_share + 0.7 x air_yards_share from PBP data

avg_cushion

Average cushion (CUSH) from NGS

avg_separation

Average separation (SEP) from NGS

target_share

Share of targets of player compared to all team targets from PBP

tgt_pct

Share of targets percentage from PBP

ybc

Total yards passes traveled in the air before being caught or yards before catch (YBC) from PFR

ybc_r

Yards before catch per reception from PFR

receiving_air

Receiving air yards including incomplete passes from PBP data

avg_intended_air_yards

Average targeted air yards (TAY) from NGS

percent_share_of_intended_air_yards

Average % share of team's air yards (TAY%) from NGS

air_yards_share

Share of receiving_air_yards of the player to all team air_yards from PBP data

x1d_rec

Number of first downs gained on a reception from PBP data

brk_tkl

Number of broken tackles from PFR

rec_br

Receptions per broken tackle from PFR

drop

Number of dropped passes from PFR

drop_percent

Dropped pass percentage when targeted from PFR

catch_percentage

Average catch percentage from NGS

receiving_fumbles

Number of fumbles after a pass reception from PBP data

receiving_fumbles_lost

Number of fumbles lost after a pass reception from PBP data

receiving_2pt_conversions

Two-point conversion receptions from PBP data

int_tgt

Interceptions on passes where targetedfrom PFR

rat

Passer rating on passes when targeted from PFR

fpts_std_4pt_td

Fantasy points for standard format with 4 point TD

ppg_std_4pt_td

Fantasy points per game for standard format with 4 point TD

fpts_half_ppr_4pt_td

Fantasy points for half PPR format with 4 point TD

ppg_half_ppr_4pt_td

Fantasy points per game for half PPR format with 4 point TD

fpts_ppr_4pt_td

Fantasy points for full PPR format with 4 point TD

ppg_ppr_4pt_td

Fantasy points per game for full PPR format with 4 point TD

fpts_std_6pt_td

Fantasy points for standard format with 6 point TD

ppg_std_6pt_td

Fantasy points per game for standard format with 6 point TD

fpts_half_ppr_6pt_td

Fantasy points for half PPR format with 6 point TD

ppg_half_ppr_6pt_td

Fantasy points per game for half PPR format with 6 point TD

fpts_ppr_6pt_td

Fantasy points for full PPR format with 6 point TD

ppg_ppr_6pt_td

Fantasy points per game for full PPR format with 6 point TD

carries

Number of rush attempts including scrambles and kneel downs. Rushes after a lateral reception don't count as a carry from PBP data

rushing_yards

Yards gained when rushing including scrambles and kneel downs. Also includes yards gained after obtaining a lateral on a play that started with a rushing attempt from PBP data

rushing_tds

The number of rushing touchdowns (incl. scrambles). Also includes touchdowns after obtaining a lateral on a play that started with a rushing attempt from PBP data

rushing_fumbles

Number of rushes with a fumble from PBP data

rushing_fumbles_lost

Number of rushes with a lost fumble from PBP data

rushing_first_downs

Number of rushing first downs from PBP data

rushing_epa

Expected points added (EPA) on rush attempts including scrambles and kneel downs from PBP data

rushing_2pt_conversions

Two-point conversion rushes from PBP data

pfr_id

Pro Football Reference player ID (e.g., JackLa00)

Arguments

pbp_db_tbl

Play-by-Play database table name (optional)

seasons

NFL season (required) to obtain play-by-play data. The season can be defined as a single season, season = 2024. For multiple seasons, use either season = c(2023,2024) or season = 2022:2024.

pbp_dp

Play-by-Play database path (optional)

Value

Dataframe with QB stats for user-defined season(s) obtained from NFL play-by-play data, Next Gen Stats (NGS) and Pro Football Reference (PFR)

Details

The function get_wr_combined_stats_season can be utilized to obtain player stats for a season, including advanced stats. This includes stats for passing, rushing, and receiving obtained by using the nflfastR function calculate_player_stats(). The player stats are utilized to calculate fantasy points based on common scoring formats (4/6 point TD, STD, Half PPR, Full PPR). The function acquires stats by using cumulative play-by-play data by either loading from a saved database or using nflreadr::load_pbp(). The data is obtained for a user-defined season. Play-by-play data is merged with NFL Next Gen Stats (NGS) utilizing the nflreadr function load_nextgen_stats to load player level weekly stats starting with the 2016 season. Play-by-play data is also merged with advanced stats from Pro Football Reference (PFR), beginning from 2018. Note that to use this function, seasons must be 2018 or later.

See also

nuclearff::get_pbp_data Obtain play-by-play data for a specified time frame from either a saved database or if not defined, using nflreadr::load_pbp()

load_pbp Load play-by-play data

update_db Update or Create a nflfastR Play-by-Play Database

load_nextgen_stats Load player level weekly NFL Next Gen Stats

load_pfr_advstats Load advanced stats from PFR

Author

Nolan MacDonald