library(tidyverse)
library(reactable)
library(reactablefmtr)
library(nbastatR)
library(dplyr)
library(hoopR)
library(reactable)
library(reactablefmtr)
library(plotly)

Sys.setenv("VROOM_CONNECTION_SIZE" = 131072 * 2)
mins_draft <- right_join(minutes, dr) %>%
  mutate( min_per_year = total/(2022-yearDraft)) %>%
  select(namePlayer,
         total,
         yearDraft,
         numberPickOverall,
         min_per_year) %>%
  mutate_at(vars(total,min_per_year), funs(round(.,2)))

mins_draft[is.na(mins_draft)] <- 0
mins_draft %>%
  group_by(numberPickOverall) %>%
  summarise(
    min_per_year = mean(min_per_year)
  ) %>%
  mutate_at(vars(min_per_year), funs(round(.,2))) %>%
  plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar") %>%
  layout(title = "Average Minutes per year by Draft Pick, 2012-2021 classes")
mins_draft %>%
  group_by(numberPickOverall) %>%
  summarise(
    min_per_year = mean(min_per_year)
  ) %>%
  mutate_at(vars(min_per_year), funs(round(.,2))) %>%
  reactable( sortable = TRUE,
                   pagination = TRUE,
                   defaultPageSize = 15)
mins_draft[order(-mins_draft$total), ]%>%
  select(namePlayer,
         numberPickOverall,
         yearDraft,
         min_per_year,
         total) %>%
  reactable( theme = espn()) %>%
  add_title( "Minutes per year rank by player, 2012-2021 classes")

Minutes per year rank by player, 2012-2021 classes

Ranks within draft class

2012 Class

mins_draft_12 <- mins_draft %>%
  filter( yearDraft == 2012)
mins_draft_12[order(-mins_draft_12$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_12 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_12$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2012 class")

2013 Class

mins_draft_13 <- mins_draft %>%
  filter( yearDraft == 2013)
mins_draft_13[order(-mins_draft_13$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_13 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_13$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2013 class")

2014 Class

mins_draft_14 <- mins_draft %>%
  filter( yearDraft == 2014)
mins_draft_14[order(-mins_draft_14$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_14 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_14$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2014 class")

2015 Class

mins_draft_15 <- mins_draft %>%
  filter( yearDraft == 2015)
mins_draft_15[order(-mins_draft_15$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_15 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_15$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2015 class")

2016 Class

mins_draft_16 <- mins_draft %>%
  filter( yearDraft == 2016)
mins_draft_16[order(-mins_draft_16$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_16 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_16$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2016 class")

2017 Class

mins_draft_17 <- mins_draft %>%
  filter( yearDraft == 2017)
mins_draft_17[order(-mins_draft_17$total), ] %>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_17 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_17$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2017 class")

2018 Class

mins_draft_18 <- mins_draft %>%
  filter( yearDraft == 2018)
mins_draft_18[order(-mins_draft_18$total), ]%>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_18 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_18$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2018 class")

2019 Class

mins_draft_19 <- mins_draft %>%
  filter( yearDraft == 2019)
mins_draft_19[order(-mins_draft_19$total), ]%>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_19 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_19$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2019 class")

2020 Class

mins_draft_20 <- mins_draft %>%
  filter( yearDraft == 2020)
mins_draft_20[order(-mins_draft_20$total), ]%>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_20 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_20$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2020 class")

2021 Class

mins_draft_21 <- mins_draft %>%
  filter( yearDraft == 2021)
mins_draft_21[order(-mins_draft_21$total), ]%>%
  select(namePlayer,
         numberPickOverall,
         min_per_year,
         total) %>%
  reactable( theme = espn())
mins_draft_21 %>% plot_ly( x = ~numberPickOverall, y = ~min_per_year, type = "bar", text = mins_draft_21$namePlayer) %>%
  layout(title = "Average Minutes per Year by Draft Pick, 2021 class")