# Load the data
nbaStats = read.csv("NBA_Stats202324.csv")
str(nbaStats)
## 'data.frame': 30 obs. of 19 variables:
## $ TEAM : chr "Washington" "Atlanta" "Utah" "Indiana" ...
## $ PPG : num 114 118 116 123 110 ...
## $ oPPG : num 123 120 120 120 119 ...
## $ pDIFF: num -9.3 -2.2 -4.8 3.1 -9.1 -6.4 -6.5 0.6 -10.2 2.6 ...
## $ PACE : num 102.6 100 99.4 101.7 99.8 ...
## $ oEFF : num 110 117 116 121 110 ...
## $ dEFF : num 120 119 120 118 119 ...
## $ eDIFF: num -9.1 -2.1 -4.9 3 -9.1 -6.4 -6.4 0.6 -10.5 2.6 ...
## $ SOS : num 1.06 -0.61 0.38 0.15 0.79 0.36 0.5 -0.08 0.86 -0.44 ...
## $ SAR : num -8.04 -2.71 -4.52 3.15 -8.31 -6.04 -5.9 0.52 -9.64 2.16 ...
## $ CONS : num 12.5 14.7 15.9 15.2 12 15.7 14.4 15 14.4 16.1 ...
## $ A4F : num -0.052 -0.05 0.004 0.012 -0.01 -0.045 -0.015 0.026 -0.068 0.05 ...
## $ W : int 15 36 31 47 14 25 22 47 21 49 ...
## $ L : int 67 46 51 35 68 57 60 35 61 33 ...
## $ WIN. : num 0.183 0.439 0.378 0.573 0.171 0.305 0.268 0.573 0.256 0.598 ...
## $ eWIN.: num 0.234 0.443 0.379 0.578 0.224 0.342 0.329 0.516 0.233 0.564 ...
## $ pWIN.: num 0.194 0.428 0.342 0.602 0.2 0.289 0.286 0.52 0.164 0.586 ...
## $ ACH : num -0.051 -0.004 -0.001 -0.005 -0.053 -0.037 -0.061 0.057 0.023 0.034 ...
## $ STRK : int -6 -6 -1 1 -1 -4 2 2 1 -2 ...
# Explore the data
summary(nbaStats)
## TEAM PPG oPPG pDIFF
## Length:30 Min. :105.8 Min. :106.5 Min. :-10.20000
## Class :character 1st Qu.:112.2 1st Qu.:110.9 1st Qu.: -4.32500
## Mode :character Median :114.5 Median :113.5 Median : 1.95000
## Mean :114.2 Mean :114.2 Mean : 0.01667
## 3rd Qu.:117.5 3rd Qu.:117.2 3rd Qu.: 3.10000
## Max. :123.3 Max. :123.0 Max. : 11.40000
## PACE oEFF dEFF eDIFF
## Min. : 95.20 Min. :107.2 Min. :109.0 Min. :-10.500
## 1st Qu.: 97.10 1st Qu.:113.2 1st Qu.:113.2 1st Qu.: -4.400
## Median : 98.20 Median :115.8 Median :115.3 Median : 1.950
## Mean : 98.49 Mean :115.3 Mean :115.3 Mean : 0.040
## 3rd Qu.: 99.80 3rd Qu.:117.8 3rd Qu.:117.2 3rd Qu.: 3.175
## Max. :102.60 Max. :123.2 Max. :120.5 Max. : 11.600
## SOS SAR CONS A4F
## Min. :-1.3100 Min. :-9.640 Min. :12.00 Min. :-0.06800
## 1st Qu.:-0.4475 1st Qu.:-4.147 1st Qu.:14.07 1st Qu.:-0.03550
## Median :-0.0450 Median : 1.900 Median :15.05 Median : 0.00150
## Mean :-0.0360 Mean : 0.004 Mean :14.98 Mean :-0.00010
## 3rd Qu.: 0.3425 3rd Qu.: 3.067 3rd Qu.:15.90 3rd Qu.: 0.02825
## Max. : 1.0600 Max. :10.870 Max. :17.90 Max. : 0.08000
## W L WIN. eWIN.
## Min. :14.00 Min. :18.00 Min. :0.171 Min. :0.2240
## 1st Qu.:31.25 1st Qu.:33.00 1st Qu.:0.381 1st Qu.:0.3912
## Median :46.50 Median :35.50 Median :0.567 Median :0.5480
## Mean :41.00 Mean :41.00 Mean :0.500 Mean :0.4981
## 3rd Qu.:49.00 3rd Qu.:50.75 3rd Qu.:0.598 3rd Qu.:0.5903
## Max. :64.00 Max. :68.00 Max. :0.780 Max. :0.7680
## pWIN. ACH STRK
## Min. :0.1640 Min. :-0.061000 Min. :-6.0000
## 1st Qu.:0.3578 1st Qu.:-0.015000 1st Qu.:-2.0000
## Median :0.5640 Median :-0.000500 Median : 0.0000
## Mean :0.5006 Mean : 0.001933 Mean :-0.1333
## 3rd Qu.:0.6020 3rd Qu.: 0.023000 3rd Qu.: 2.0000
## Max. :0.8750 Max. : 0.061000 Max. : 8.0000
table(nbaStats$W, nbaStats$eDIFF)
##
## -10.5 -9.2 -9.1 -7.1 -6.4 -4.9 -2.9 -2.1 -1.4 0.6 1.1 1.8 2.1 2.2 2.4 2.6
## 14 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 15 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 21 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 22 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
## 25 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
## 27 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
## 31 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
## 32 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## 36 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## 39 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## 41 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
## 46 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0
## 47 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
## 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
## 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
## 50 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
## 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 2.7 3 3.1 3.2 3.4 4.5 4.8 5.4 6.6 7.4 11.6
## 14 0 0 0 0 0 0 0 0 0 0 0
## 15 0 0 0 0 0 0 0 0 0 0 0
## 21 0 0 0 0 0 0 0 0 0 0 0
## 22 0 0 0 0 0 0 0 0 0 0 0
## 25 0 0 0 0 0 0 0 0 0 0 0
## 27 0 0 0 0 0 0 0 0 0 0 0
## 31 0 0 0 0 0 0 0 0 0 0 0
## 32 0 0 0 0 0 0 0 0 0 0 0
## 36 0 0 0 0 0 0 0 0 0 0 0
## 39 0 0 0 0 0 0 0 0 0 0 0
## 41 0 0 0 0 0 0 0 0 0 0 0
## 46 1 0 0 0 0 0 0 0 0 0 0
## 47 0 1 0 1 0 0 0 0 0 0 0
## 48 0 0 0 0 0 0 0 0 0 0 0
## 49 0 0 1 0 0 1 0 0 0 0 0
## 50 0 0 0 0 0 0 1 0 0 0 0
## 51 0 0 0 0 1 0 0 0 0 0 0
## 56 0 0 0 0 0 0 0 0 1 0 0
## 57 0 0 0 0 0 0 0 1 0 1 0
## 64 0 0 0 0 0 0 0 0 0 0 1
PointsReg = lm(W ~ PPG + oPPG + PACE + oEFF + dEFF, data=nbaStats)
summary(PointsReg)
##
## Call:
## lm(formula = W ~ PPG + oPPG + PACE + oEFF + dEFF, data = nbaStats)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.4463 -0.9515 0.1856 1.4931 5.0362
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.8005 129.9722 0.075 0.940518
## PPG 16.5256 4.3546 3.795 0.000883 ***
## oPPG -16.9674 4.4043 -3.853 0.000764 ***
## PACE 0.2176 1.3378 0.163 0.872143
## oEFF -14.0146 4.3169 -3.246 0.003432 **
## dEFF 14.5396 4.3440 3.347 0.002685 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.267 on 24 degrees of freedom
## Multiple R-squared: 0.9764, Adjusted R-squared: 0.9714
## F-statistic: 198.2 on 5 and 24 DF, p-value: < 2.2e-16
projW = lm(pWIN. ~ W + WIN. + eWIN., data=nbaStats)
summary(projW)
##
## Call:
## lm(formula = pWIN. ~ W + WIN. + eWIN., data = nbaStats)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.024355 -0.010277 -0.003582 0.005429 0.041551
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.12040 0.01275 -9.446 6.85e-10 ***
## W 0.05316 0.16147 0.329 0.745
## WIN. -4.37275 13.24182 -0.330 0.744
## eWIN. 1.26018 0.13125 9.602 4.91e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01731 on 26 degrees of freedom
## Multiple R-squared: 0.992, Adjusted R-squared: 0.9911
## F-statistic: 1072 on 3 and 26 DF, p-value: < 2.2e-16