Ringrazio la fonte dei dati: https://www.basketball-reference.com/players/c/curryst01.html
Stephen Curry nel 2009
In questa prima sezione carico i diversi file .csv esportati dal sito sopracitato, uno per ciascuna regular season, tutti relativi allo stesso giocatore NBA (Stephen Curry). Le domande a cui voglio cercare di rispondere attraverso i dati sono:
Di seguito si riporta il glossario delle statistiche:
Di seguito vengono fatti i grafici scatterplot delle seguenti coppie di variabili: (FT, FTA), (FG, FGA), (X3P, X3PA) e la ratio è quella di catturare attraverso la pendenza della retta di regressione l’efficacia nel tiro (libero per la prima coppia di variabili, dal campo per la seconda e da 3 punti per la terza). Viene inoltre fatto il density plot sul rapporto delle coppie di variabili di cui sopra come stima alternativa dell’efficacia (rapporto tra tiri segnati e tiri tentati) e possiamo vedere come nel tempo ad esempio si è modificata la curva di densità di probabilità della variabile effiacia nel tiro da 3 punti misurata dal rapporto X3P/X3PA: da una densità più o meno uniforme, è diventata via via più unimodale con moda vicina al 50%.
Il ragionamento di cui sopra è ripetuto per ogni diversa regular season; visto che per l’anno 2019 ci sono poche osservazioni, non possiamo considerare affidabili le conclusioni per quell’anno.
df %>% ggplot(aes(x=FTA, y=FT)) + geom_point() + geom_smooth(method='lm') + theme_classic() + facet_wrap(~Y)
## `geom_smooth()` using formula 'y ~ x'
df %>% ggplot(aes(x=FGA, y=FG)) + geom_point() + geom_smooth(method='lm') + theme_classic() + facet_wrap(~Y)
## `geom_smooth()` using formula 'y ~ x'
df %>% ggplot(aes(x=X3PA, y=X3P)) + geom_point() + geom_smooth(method='lm') + theme_classic() + facet_wrap(~Y)
## `geom_smooth()` using formula 'y ~ x'
df %>% ggplot(aes(x=FT/FTA)) + geom_density() + theme_classic() + facet_wrap(~Y)
## Warning: Removed 98 rows containing non-finite values (stat_density).
df %>% ggplot(aes(x=FG/FGA)) + geom_density() + theme_classic() + facet_wrap(~Y)
## Warning: Removed 2 rows containing non-finite values (stat_density).
df %>% ggplot(aes(x=X3P/X3PA)) + geom_density() + theme_classic() + facet_wrap(~Y)
## Warning: Removed 4 rows containing non-finite values (stat_density).
A questo punto, vediamo la distribuzione dei punti segnati per partita e la media punti per le diverse stagioni (escludiamo il 2019 perché poche osservazioni).
Stephen Curry nel 2019
Possiamo affermare, sulla base dei grafici seguenti, come Steph sia migliorato come giocatore offensivo e scorer: nelle prime stagioni il valore modale dei punti segnati per partita era intorno ai 10 punti (regular season 2009-2010) / 20 punti (regular season 2012), mentre si è alzato nel tempo arrivando vicino ai 30 punti (regular season 2015-2016).
df %>% filter(Y != '2019') %>% ggplot(aes(x=PTS)) + geom_density() + theme_classic() + facet_wrap(~Y)
df_avg <- df %>% filter(Y != '2019') %>% group_by(Y) %>% summarise(`Punti` = mean(PTS),
`Tiri liberi` = mean(FT),
`Tiri da 3` = mean(X3P),
`Rimbalzi` = mean(TRB),
`Assist` = mean(AST),
`Palle Rubate` = mean(STL),
`Stoppate` = mean(BLK)
)
## `summarise()` ungrouping output (override with `.groups` argument)
df_avg[, -1] <- round(df_avg[,-1], 2)
df_avg
## # A tibble: 11 x 8
## Y Punti `Tiri liberi` `Tiri da 3` Rimbalzi Assist `Palle Rubate` Stoppate
## <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2009 17.5 2.21 2.08 4.45 5.9 1.9 0.24
## 2 2010 18.6 2.86 2.04 3.86 5.84 1.47 0.27
## 3 2011 14.7 1.46 2.12 3.38 5.31 1.5 0.31
## 4 2012 22.9 3.36 3.49 4.03 6.91 1.62 0.15
## 5 2013 24.0 3.95 3.35 4.28 8.54 1.64 0.18
## 6 2014 23.8 3.85 3.58 4.26 7.74 2.04 0.2
## 7 2015 30.1 4.59 5.09 5.44 6.67 2.14 0.19
## 8 2016 25.3 4.11 4.1 4.47 6.63 1.8 0.22
## 9 2017 26.4 5.45 4.16 5.12 6.08 1.57 0.16
## 10 2018 27.3 3.81 5.13 5.35 5.23 1.33 0.36
## 11 2020 29.0 5.08 4.67 5.33 6.23 1.36 0.08