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))