Basketball and R

Nayshaun Warren

Introduction to Package

  • hoopR

Important Function

  • nba_leaguedashplayerstats()

nba_players <- nba_leaguedashplayerstats( season = “2024-25”, per_mode = “PerGame”, season_type = “Regular Season” )

Tibble

List of 1
 $ LeagueDashPlayerStats: tibble [569 × 67] (S3: tbl_df/tbl/data.frame)
  ..$ PLAYER_ID            : chr [1:569] "1630639" "1631260" "1642358" "203932" ...
  ..$ PLAYER_NAME          : chr [1:569] "A.J. Lawson" "AJ Green" "AJ Johnson" "Aaron Gordon" ...
  ..$ NICKNAME             : chr [1:569] "A.J." "AJ" "AJ" "Aaron" ...
  ..$ TEAM_ID              : chr [1:569] "1610612761" "1610612749" "1610612764" "1610612743" ...
  ..$ TEAM_ABBREVIATION    : chr [1:569] "TOR" "MIL" "WAS" "DEN" ...
  ..$ AGE                  : chr [1:569] "24" "25" "20" "29" ...
  ..$ GP                   : chr [1:569] "26" "73" "29" "51" ...
  ..$ W                    : chr [1:569] "14" "44" "8" "33" ...
  ..$ L                    : chr [1:569] "12" "29" "21" "18" ...
  ..$ W_PCT                : chr [1:569] "0.538" "0.603" "0.276" "0.647" ...
  ..$ MIN                  : chr [1:569] "18.7" "22.7" "22" "28.4" ...
  ..$ FGM                  : chr [1:569] "3.1" "2.5" "2.8" "5.2" ...
  ..$ FGA                  : chr [1:569] "7.3" "5.8" "7.3" "9.7" ...
  ..$ FG_PCT               : chr [1:569] "0.421" "0.429" "0.385" "0.531" ...
  ..$ FG3M                 : chr [1:569] "1.3" "2.1" "0.8" "1.5" ...
  ..$ FG3A                 : chr [1:569] "3.9" "5" "3.1" "3.4" ...
  ..$ FG3_PCT              : chr [1:569] "0.327" "0.427" "0.267" "0.436" ...
  ..$ FTM                  : chr [1:569] "1.7" "0.3" "1.1" "2.8" ...
  ..$ FTA                  : chr [1:569] "2.4" "0.4" "1.3" "3.5" ...
  ..$ FT_PCT               : chr [1:569] "0.683" "0.815" "0.865" "0.81" ...
  ..$ OREB                 : chr [1:569] "0.8" "0.2" "0.3" "1.6" ...
  ..$ DREB                 : chr [1:569] "2.5" "2.1" "1.8" "3.3" ...
  ..$ REB                  : chr [1:569] "3.3" "2.4" "2" "4.8" ...
  ..$ AST                  : chr [1:569] "1.2" "1.5" "2.6" "3.2" ...
  ..$ TOV                  : chr [1:569] "0.6" "0.5" "1.2" "1.4" ...
  ..$ STL                  : chr [1:569] "0.5" "0.5" "0.4" "0.5" ...
  ..$ BLK                  : chr [1:569] "0.2" "0.1" "0.1" "0.3" ...
  ..$ BLKA                 : chr [1:569] "0.5" "0" "0.6" "0.7" ...
  ..$ PF                   : chr [1:569] "1.7" "2.2" "1.7" "1.6" ...
  ..$ PFD                  : chr [1:569] "1.5" "0.7" "0.9" "2.7" ...
  ..$ PTS                  : chr [1:569] "9.1" "7.4" "7.6" "14.7" ...
  ..$ PLUS_MINUS           : chr [1:569] "-0.7" "3.1" "-5.2" "5.9" ...
  ..$ NBA_FANTASY_PTS      : chr [1:569] "16.5" "13.8" "14.3" "26" ...
  ..$ DD2                  : chr [1:569] "2" "0" "0" "3" ...
  ..$ TD3                  : chr [1:569] "0" "0" "0" "0" ...
  ..$ WNBA_FANTASY_PTS     : chr [1:569] "16.3" "14.6" "14.1" "25.6" ...
  ..$ GP_RANK              : chr [1:569] "424" "86" "412" "275" ...
  ..$ W_RANK               : chr [1:569] "364" "62" "445" "166" ...
  ..$ L_RANK               : chr [1:569] "414" "188" "297" "345" ...
  ..$ W_PCT_RANK           : chr [1:569] "239" "164" "473" "101" ...
  ..$ MIN_RANK             : chr [1:569] "305" "220" "232" "120" ...
  ..$ FGM_RANK             : chr [1:569] "248" "310" "275" "113" ...
  ..$ FGA_RANK             : chr [1:569] "228" "298" "227" "139" ...
  ..$ FG_PCT_RANK          : chr [1:569] "388" "353" "472" "79" ...
  ..$ FG3M_RANK            : chr [1:569] "196" "77" "298" "171" ...
  ..$ FG3A_RANK            : chr [1:569] "181" "112" "243" "219" ...
  ..$ FG3_PCT_RANK         : chr [1:569] "319" "37" "425" "24" ...
  ..$ FTM_RANK             : chr [1:569] "147" "470" "239" "73" ...
  ..$ FTA_RANK             : chr [1:569] "129" "486" "266" "76" ...
  ..$ FT_PCT_RANK          : chr [1:569] "419" "180" "87" "196" ...
  ..$ OREB_RANK            : chr [1:569] "272" "497" "483" "91" ...
  ..$ DREB_RANK            : chr [1:569] "258" "326" "372" "163" ...
  ..$ REB_RANK             : chr [1:569] "271" "374" "407" "136" ...
  ..$ AST_RANK             : chr [1:569] "343" "291" "148" "118" ...
  ..$ TOV_RANK             : chr [1:569] "394" "408" "198" "147" ...
  ..$ STL_RANK             : chr [1:569] "355" "352" "402" "382" ...
  ..$ BLK_RANK             : chr [1:569] "330" "467" "449" "290" ...
  ..$ BLKA_RANK            : chr [1:569] "201" "520" "120" "84" ...
  ..$ PF_RANK              : chr [1:569] "247" "136" "239" "277" ...
  ..$ PFD_RANK             : chr [1:569] "207" "394" "321" "89" ...
  ..$ PTS_RANK             : chr [1:569] "219" "278" "273" "98" ...
  ..$ PLUS_MINUS_RANK      : chr [1:569] "300" "83" "522" "26" ...
  ..$ NBA_FANTASY_PTS_RANK : chr [1:569] "292" "342" "332" "127" ...
  ..$ DD2_RANK             : chr [1:569] "159" "281" "281" "134" ...
  ..$ TD3_RANK             : chr [1:569] "44" "44" "44" "44" ...
  ..$ WNBA_FANTASY_PTS_RANK: chr [1:569] "281" "318" "328" "124" ...
  ..$ TEAM_COUNT           : chr [1:569] "1" "1" "2" "1" ...

First Look …

Shai Gilgeous-Alexander

Luka Doncic

LeBron James

Why is this interesting?

  • Luka doesn’t play defense

  • LeBron (Goat) is old

How should we continue?

  • Remove Unimportant Players

  • Find a statistic that can measure impact

Plus/Minus Insight

This is cool, but …

  • Statistics can be deceiving

  • Other things are important for impact

Who actually contributed?

References