library(tidyverse)
library(nbastatR)
library(plyr)
library(dplyr)
library(reactable)
library(reactablefmtr)
library(jsonlite)
library(janitor)
library(purrr)
library(rvest)
library(Hmisc)
library(corrplot)
Sys.setenv("VROOM_CONNECTION_SIZE" = 131072 * 2)
pbp_url_team1 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=1610612743&EntityType=Team"
pbp_team1 <- read_json(pbp_url_team1)
team_df1 <- pbp_team1[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names()
pbp_url_opp1 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=1610612743&EntityType=Opponent"
pbp_opp1 <- read_json(pbp_url_opp1)
opp_df1 <- pbp_opp1[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names()
team_points1 <- team_df1 %>%
select(date,
points)
opp_points1 <- opp_df1 %>%
mutate( opp_points = points) %>%
select(date,
opp_points)
nugs_results1 <- right_join(team_points1,opp_points1) %>%
mutate( result = points - opp_points) %>%
select(date,
result,
opp_points)
team_results1 <- right_join(team_df1, nugs_results1) %>%
replace(is.na(.), 0) %>%
as_data_frame()
Team
#Regular Season
team_results1 <- team_results1 %>% select(
result,
points,
opp_points,
off_poss,
def_poss,
at_rim_fga,
corner3fga,
fg3a,
assist_points,
at_rim_assists,
def_rebounds,
off_rebounds,
steals,
blocks,
live_ball_turnovers,
turnovers,
fouls,
fta,
pace,
at_rim_frequency,
avg2pt_shot_distance,
)
corr1 <- cor(as.matrix(team_results1))
pbp_url_team <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=1610612743&EntityType=Team"
pbp_team <- read_json(pbp_url_team)
team_df <- pbp_team[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names()
pbp_url_opp <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=1610612743&EntityType=Opponent"
pbp_opp <- read_json(pbp_url_opp)
opp_df <- pbp_opp[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names()
team_points <- team_df %>%
select(date,
points)
opp_points <- opp_df %>%
mutate( opp_points = points) %>%
select(date,
opp_points)
nugs_results <- right_join(team_points,opp_points) %>%
mutate( result = points - opp_points) %>%
select(date,
result,
opp_points)
team_results <- right_join(team_df, nugs_results) %>%
replace(is.na(.), 0) %>%
as_data_frame()
#Playoffs
team_results <- team_results %>% select(
result,
points,
opp_points,
off_poss,
def_poss,
at_rim_fga,
corner3fga,
fg3a,
assist_points,
at_rim_assists,
def_rebounds,
off_rebounds,
steals,
blocks,
live_ball_turnovers,
turnovers,
fouls,
fta,
pace,
at_rim_frequency,
avg2pt_shot_distance,
)
corr2 <- cor(as.matrix(team_results))
corrplot(corr2, method = "circle",
title = "Team - Playoffs",
mar=c(0,0,1,0))

corrplot(corr1, method = "circle",
title = "Team - Regular Season",
mar=c(0,0,1,0))

Nikola Jokic
#Jokic
pbp_url_team10 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=203999&EntityType=Player"
pbp_team10 <- read_json(pbp_url_team10)
df10 <- pbp_team10[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr3 <- cor(as.matrix(df10))
corrplot(corr3, method = "circle",
title = "Jokic - Playoffs",
mar=c(0,0,1,0))

pbp_url_team11 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=203999&EntityType=Player"
pbp_team11 <- read_json(pbp_url_team11)
df11 <- pbp_team11[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr4 <- cor(as.matrix(df11))
corrplot(corr4, method = "circle",
title = "Jokic - Regular Season",
mar=c(0,0,1,0))

Jamal Murray
#Murray
pbp_url_team12 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=1627750&EntityType=Player"
pbp_team12 <- read_json(pbp_url_team12)
df12 <- pbp_team12[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr5 <- cor(as.matrix(df12))
corrplot(corr5, method = "circle",
title = "Murray - Playoffs",
mar=c(0,0,1,0))

pbp_url_team13 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=1627750&EntityType=Player"
pbp_team13 <- read_json(pbp_url_team13)
df13 <- pbp_team13[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr6 <- cor(as.matrix(df13))
corrplot(corr6, method = "circle",
title = "Murray - Regular Season",
mar=c(0,0,1,0))

Bruce Brown
#Bruce Brown
pbp_url_team14 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=1628971&EntityType=Player"
pbp_team14 <- read_json(pbp_url_team14)
df14 <- pbp_team14[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr7 <- cor(as.matrix(df14))
corrplot(corr7, method = "circle",
title = "Brown - Playoffs",
mar=c(0,0,1,0))

pbp_url_team15 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=1628971&EntityType=Player"
pbp_team15 <- read_json(pbp_url_team15)
df15 <- pbp_team15[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr8 <- cor(as.matrix(df15))
corrplot(corr8, method = "circle",
title = "Brown - Regular Season",
mar=c(0,0,1,0))

Kentavious Caldwell-Pope
#KCP
pbp_url_team16 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=203484&EntityType=Player"
pbp_team16 <- read_json(pbp_url_team16)
df16 <- pbp_team16[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr9 <- cor(as.matrix(df16))
corrplot(corr9, method = "circle",
title = "KCP - Playoffs",
mar=c(0,0,1,0))

pbp_url_team17 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=203484&EntityType=Player"
pbp_team17 <- read_json(pbp_url_team17)
df17 <- pbp_team17[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr10 <- cor(as.matrix(df17))
corrplot(corr10, method = "circle",
title = "KCP - Regular Season",
mar=c(0,0,1,0))

Aaron Gordon
#Gordon
pbp_url_team20 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=203932&EntityType=Player"
pbp_team20 <- read_json(pbp_url_team20)
df20 <- pbp_team20[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr11 <- cor(as.matrix(df20))
corrplot(corr11, method = "circle",
title = "Gordon - Playoffs",
mar=c(0,0,1,0))

pbp_url_team21 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=203932&EntityType=Player"
pbp_team21 <- read_json(pbp_url_team21)
df21 <- pbp_team21[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr12 <- cor(as.matrix(df21))
corrplot(corr12, method = "circle",
title = "Gordon - Regular Season",
mar=c(0,0,1,0))

Michael Porter Jr.
#MPJ
pbp_url_team22 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Playoffs&EntityId=1629008&EntityType=Player"
pbp_team22 <- read_json(pbp_url_team22)
df22 <- pbp_team22[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr13 <- cor(as.matrix(df22))
corrplot(corr13, method = "circle",
title = "MPJ - Playoffs",
mar=c(0,0,1,0))

pbp_url_team23 <- "https://api.pbpstats.com/get-game-logs/nba?Season=2022-23&SeasonType=Regular%2BSeason&EntityId=1629008&EntityType=Player"
pbp_team23 <- read_json(pbp_url_team23)
df23 <- pbp_team23[["multi_row_table_data"]] %>%
bind_rows() %>%
clean_names() %>%
replace(is.na(.), 0) %>%
select(
on_off_rtg,
on_def_rtg,
plus_minus,
at_rim_fga,
points,
assist_points,
def_rebounds,
off_rebounds,
steals,
turnovers,
fta,
usage,
at_rim_frequency,
avg2pt_shot_distance,
fg3a
)
corr14 <- cor(as.matrix(df23))
corrplot(corr14, method = "circle",
title = "MPJ - Regular Season",
mar=c(0,0,1,0))
