# Set working directory and path to data
setwd("C:/Users/LENOVO/Downloads/Regression Model") # Example path on Windows
# Clear the workspace
rm(list = ls()) # Clear environment
gc() # Clear unused memory
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 522537 28.0 1162770 62.1 660385 35.3
## Vcells 950386 7.3 8388608 64.0 1769879 13.6
cat("\f") # Clear the console
dev.off # Clear the charts
## function (which = dev.cur())
## {
## if (which == 1)
## stop("cannot shut down device 1 (the null device)")
## .External(C_devoff, as.integer(which))
## dev.cur()
## }
## <bytecode: 0x000001f725cc94f0>
## <environment: namespace:grDevices>
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df <- read.csv("C:\\Users\\LENOVO\\Downloads\\Regression Model\\Project\\sportsref_download.csv")
df1 <- read.csv("C:\\Users\\LENOVO\\Downloads\\sportsref_download.csv")
df <- df %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
df1 <- df1 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
names(df1)
## [1] "Rk" "Team" "Age"
## [4] "W" "L" "PW"
## [7] "PL" "MOV" "SOS"
## [10] "SRS" "ORtg" "DRtg"
## [13] "NRtg" "Pace" "FTr"
## [16] "X3PAr" "TS." "X"
## [19] "Offense.Four.Factors" "X.1" "X.2"
## [22] "X.3" "X.4" "Defense.Four.Factors"
## [25] "X.5" "X.6" "X.7"
## [28] "X.8" "X.9" "X.10"
## [31] "X.11"
# Remove column 'b'
df_new <- subset(df1, select = -c(Age, Rk, PW, PL, MOV, SOS, SRS, ORtg, DRtg, NRtg, Pace, FTr, X3PAr, TS., X, Offense.Four.Factors, X.1, X.2, X.3, X.4, Defense.Four.Factors, X.5, X.6, X.7, X.8, X.9, X.10, X.11))
df_new
## Team W L
## 1 Milwaukee Bucks 56 17
## 2 Boston Celtics 48 24
## 3 Los Angeles Clippers 49 23
## 4 Toronto Raptors 53 19
## 5 Los Angeles Lakers 52 19
## 6 Dallas Mavericks 43 32
## 7 Miami Heat 44 29
## 8 Houston Rockets 44 28
## 9 Utah Jazz 44 28
## 10 Philadelphia 76ers 43 30
## 11 Denver Nuggets 46 27
## 12 Indiana Pacers 45 28
## 13 Oklahoma City Thunder 44 28
## 14 Phoenix Suns 34 39
## 15 Brooklyn Nets 35 37
## 16 Orlando Magic 33 40
## 17 San Antonio Spurs 32 39
## 18 Memphis Grizzlies 34 39
## 19 Portland Trail Blazers 35 39
## 20 New Orleans Pelicans 30 42
## 21 Sacramento Kings 31 41
## 22 Chicago Bulls 22 43
## 23 Detroit Pistons 20 46
## 24 Minnesota Timberwolves 19 45
## 25 Washington Wizards 25 47
## 26 New York Knicks 21 45
## 27 Charlotte Hornets 23 42
## 28 Atlanta Hawks 20 47
## 29 Cleveland Cavaliers 19 46
## 30 Golden State Warriors 15 50
## 31 <NA> <NA>
merged_df <- merge(df, df_new, by = "Team")
names(merged_df)
## [1] "Team" "Rk" "G" "MP" "FG" "FGA" "FG." "X3P" "X3PA" "X3P."
## [11] "X2P" "X2PA" "X2P." "FT" "FTA" "FT." "ORB" "DRB" "TRB" "AST"
## [21] "STL" "BLK" "TOV" "PF" "PTS" "W" "L"
df_2019 <- subset(merged_df, select = -c(Rk, MP, FG, FGA, X2P, X2PA, X2P., FT, FTA, FT., ORB, DRB, TRB, AST, STL, BLK, TOV, PF))
df_2019
## Team G FG. X3P X3PA X3P. PTS W L
## 1 Atlanta Hawks 67 0.449 12 36.1 0.333 111.8 20 47
## 2 Boston Celtics 72 0.461 12.6 34.5 0.364 113.7 48 24
## 3 Brooklyn Nets 72 0.448 13.1 38.1 0.343 111.8 35 37
## 4 Charlotte Hornets 65 0.434 12.1 34.3 0.352 102.9 23 42
## 5 Chicago Bulls 65 0.447 12.2 35.1 0.348 106.8 22 43
## 6 Cleveland Cavaliers 65 0.458 11.2 31.8 0.351 106.9 19 46
## 7 Dallas Mavericks 75 0.461 15.1 41.3 0.367 117 43 32
## 8 Denver Nuggets 73 0.473 11 30.6 0.359 111.3 46 27
## 9 Detroit Pistons 66 0.459 12 32.7 0.367 107.2 20 46
## 10 Golden State Warriors 65 0.438 10.4 31.3 0.334 106.3 15 50
## 11 Houston Rockets 72 0.451 15.6 45.3 0.345 117.8 44 28
## 12 Indiana Pacers 73 0.476 10.2 28 0.363 109.4 45 28
## 13 Los Angeles Clippers 72 0.466 12.4 33.5 0.371 116.3 49 23
## 14 Los Angeles Lakers 71 0.48 11 31.6 0.349 113.4 52 19
## 15 Memphis Grizzlies 73 0.468 10.9 31.5 0.347 112.6 34 39
## 16 Miami Heat 73 0.468 13.4 35.4 0.379 112 44 29
## 17 Milwaukee Bucks 73 0.476 13.8 38.9 0.355 118.7 56 17
## 18 Minnesota Timberwolves 64 0.441 13.3 39.7 0.336 113.3 19 45
## 19 New Orleans Pelicans 72 0.465 13.6 36.9 0.37 115.8 30 42
## 20 New York Knicks 66 0.447 9.6 28.4 0.337 105.8 21 45
## 21 Oklahoma City Thunder 72 0.468 10.7 30.2 0.355 110.4 44 28
## 22 Orlando Magic 73 0.444 11.1 32.2 0.343 107.3 33 40
## 23 Philadelphia 76ers 73 0.468 11.6 31.6 0.368 110.7 43 30
## 24 Phoenix Suns 73 0.468 11.4 31.8 0.358 113.6 34 39
## 25 Portland Trail Blazers 74 0.463 12.9 34.1 0.377 115 35 39
## 26 Sacramento Kings 72 0.462 12.7 34.9 0.364 110.1 31 41
## 27 San Antonio Spurs 71 0.472 10.7 28.5 0.376 114.1 32 39
## 28 Toronto Raptors 72 0.458 13.8 37 0.374 112.8 53 19
## 29 Utah Jazz 72 0.471 13.4 35.2 0.38 111.3 44 28
## 30 Washington Wizards 72 0.457 12 32.6 0.368 114.4 25 47
names(df_2019) <- c("Team", "G19", "FG%19", "3P19", "3PA19", "3P%19", "PTS19", "W19", "L19")
df_2019
## Team G19 FG%19 3P19 3PA19 3P%19 PTS19 W19 L19
## 1 Atlanta Hawks 67 0.449 12 36.1 0.333 111.8 20 47
## 2 Boston Celtics 72 0.461 12.6 34.5 0.364 113.7 48 24
## 3 Brooklyn Nets 72 0.448 13.1 38.1 0.343 111.8 35 37
## 4 Charlotte Hornets 65 0.434 12.1 34.3 0.352 102.9 23 42
## 5 Chicago Bulls 65 0.447 12.2 35.1 0.348 106.8 22 43
## 6 Cleveland Cavaliers 65 0.458 11.2 31.8 0.351 106.9 19 46
## 7 Dallas Mavericks 75 0.461 15.1 41.3 0.367 117 43 32
## 8 Denver Nuggets 73 0.473 11 30.6 0.359 111.3 46 27
## 9 Detroit Pistons 66 0.459 12 32.7 0.367 107.2 20 46
## 10 Golden State Warriors 65 0.438 10.4 31.3 0.334 106.3 15 50
## 11 Houston Rockets 72 0.451 15.6 45.3 0.345 117.8 44 28
## 12 Indiana Pacers 73 0.476 10.2 28 0.363 109.4 45 28
## 13 Los Angeles Clippers 72 0.466 12.4 33.5 0.371 116.3 49 23
## 14 Los Angeles Lakers 71 0.48 11 31.6 0.349 113.4 52 19
## 15 Memphis Grizzlies 73 0.468 10.9 31.5 0.347 112.6 34 39
## 16 Miami Heat 73 0.468 13.4 35.4 0.379 112 44 29
## 17 Milwaukee Bucks 73 0.476 13.8 38.9 0.355 118.7 56 17
## 18 Minnesota Timberwolves 64 0.441 13.3 39.7 0.336 113.3 19 45
## 19 New Orleans Pelicans 72 0.465 13.6 36.9 0.37 115.8 30 42
## 20 New York Knicks 66 0.447 9.6 28.4 0.337 105.8 21 45
## 21 Oklahoma City Thunder 72 0.468 10.7 30.2 0.355 110.4 44 28
## 22 Orlando Magic 73 0.444 11.1 32.2 0.343 107.3 33 40
## 23 Philadelphia 76ers 73 0.468 11.6 31.6 0.368 110.7 43 30
## 24 Phoenix Suns 73 0.468 11.4 31.8 0.358 113.6 34 39
## 25 Portland Trail Blazers 74 0.463 12.9 34.1 0.377 115 35 39
## 26 Sacramento Kings 72 0.462 12.7 34.9 0.364 110.1 31 41
## 27 San Antonio Spurs 71 0.472 10.7 28.5 0.376 114.1 32 39
## 28 Toronto Raptors 72 0.458 13.8 37 0.374 112.8 53 19
## 29 Utah Jazz 72 0.471 13.4 35.2 0.38 111.3 44 28
## 30 Washington Wizards 72 0.457 12 32.6 0.368 114.4 25 47
df21 <- read.csv("C:\\Users\\LENOVO\\Downloads\\Regression Model\\Project\\sportsref_download (1).csv")
df2 <- read.csv("C:\\Users\\LENOVO\\Downloads\\2020-21.csv")
df21 <- df21 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
df2 <- df2 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
df_new1 <- subset(df2, select = -c(Age, Rk, PW, PL, MOV, SOS, SRS, ORtg, DRtg, NRtg, Pace, FTr, X3PAr, TS., X, Offense.Four.Factors, X.1, X.2, X.3, X.4, Defense.Four.Factors, X.5, X.6, X.7, X.8, X.9, X.10, X.11))
df_new1
## Team W L
## 1 Utah Jazz 52 20
## 2 Los Angeles Clippers 47 25
## 3 Phoenix Suns 51 21
## 4 Milwaukee Bucks 46 26
## 5 Philadelphia 76ers 49 23
## 6 Denver Nuggets 47 25
## 7 Brooklyn Nets 48 24
## 8 Los Angeles Lakers 42 30
## 9 Dallas Mavericks 42 30
## 10 New York Knicks 41 31
## 11 Atlanta Hawks 41 31
## 12 Portland Trail Blazers 42 30
## 13 Boston Celtics 36 36
## 14 Golden State Warriors 39 33
## 15 Memphis Grizzlies 38 34
## 16 Miami Heat 40 32
## 17 Indiana Pacers 34 38
## 18 New Orleans Pelicans 31 41
## 19 Toronto Raptors 27 45
## 20 Chicago Bulls 31 41
## 21 San Antonio Spurs 33 39
## 22 Washington Wizards 34 38
## 23 Charlotte Hornets 33 39
## 24 Sacramento Kings 31 41
## 25 Detroit Pistons 20 52
## 26 Minnesota Timberwolves 23 49
## 27 Houston Rockets 17 55
## 28 Cleveland Cavaliers 22 50
## 29 Orlando Magic 21 51
## 30 Oklahoma City Thunder 22 50
merged_df1 <- merge(df21, df_new1, by = "Team")
df_2020 <- subset(merged_df1, select = -c(Rk, MP, FG, FGA, X2P, X2PA, X2P., FT, FTA, FT., ORB, DRB, TRB, AST, STL, BLK, TOV, PF))
names(df_2020) <- c("Team", "G20", "FG%20", "3P20", "3PA20", "3P%20", "PTS20", "W20", "L20")
df_2020
## Team G20 FG%20 3P20 3PA20 3P%20 PTS20 W20 L20
## 1 Atlanta Hawks 72 0.468 12.4 33.4 0.373 113.7 41 31
## 2 Boston Celtics 72 0.466 13.6 36.4 0.374 112.6 36 36
## 3 Brooklyn Nets 72 0.494 14.2 36.1 0.392 118.6 48 24
## 4 Charlotte Hornets 72 0.455 13.7 37 0.369 109.5 33 39
## 5 Chicago Bulls 72 0.476 12.6 34 0.37 110.7 31 41
## 6 Cleveland Cavaliers 72 0.45 10 29.7 0.336 103.8 22 50
## 7 Dallas Mavericks 72 0.47 13.8 38.1 0.362 112.4 42 30
## 8 Denver Nuggets 72 0.485 12.9 34.2 0.377 115.1 47 25
## 9 Detroit Pistons 72 0.452 11.6 32.9 0.351 106.6 20 52
## 10 Golden State Warriors 72 0.468 14.6 38.7 0.376 113.7 39 33
## 11 Houston Rockets 72 0.444 13.8 40.6 0.339 108.8 17 55
## 12 Indiana Pacers 72 0.474 12.3 34 0.364 115.3 34 38
## 13 Los Angeles Clippers 72 0.482 14.3 34.7 0.411 114 47 25
## 14 Los Angeles Lakers 72 0.472 11.1 31.2 0.354 109.5 42 30
## 15 Memphis Grizzlies 72 0.467 11.2 31.4 0.356 113.3 38 34
## 16 Miami Heat 72 0.468 12.9 36.2 0.358 108.1 40 32
## 17 Milwaukee Bucks 72 0.487 14.4 37.1 0.389 120.1 46 26
## 18 Minnesota Timberwolves 72 0.448 13.1 37.6 0.349 112.1 23 49
## 19 New Orleans Pelicans 72 0.477 10.6 30.4 0.348 114.6 31 41
## 20 New York Knicks 72 0.456 11.8 30 0.392 107 41 31
## 21 Oklahoma City Thunder 72 0.441 11.9 35.1 0.339 105 22 50
## 22 Orlando Magic 72 0.429 10.9 31.8 0.343 104 21 51
## 23 Philadelphia 76ers 72 0.476 11.3 30.1 0.374 113.6 49 23
## 24 Phoenix Suns 72 0.49 13.1 34.6 0.378 115.3 51 21
## 25 Portland Trail Blazers 72 0.453 15.7 40.8 0.385 116.1 42 30
## 26 Sacramento Kings 72 0.481 12.1 33.3 0.364 113.7 31 41
## 27 San Antonio Spurs 72 0.462 9.9 28.4 0.35 111.1 33 39
## 28 Toronto Raptors 72 0.448 14.5 39.3 0.368 111.3 27 45
## 29 Utah Jazz 72 0.468 16.7 43 0.389 116.4 52 20
## 30 Washington Wizards 72 0.475 10.2 29 0.351 116.6 34 38
two <- merge(df_2019, df_2020, by = "Team")
two
## Team G19 FG%19 3P19 3PA19 3P%19 PTS19 W19 L19 G20 FG%20
## 1 Atlanta Hawks 67 0.449 12 36.1 0.333 111.8 20 47 72 0.468
## 2 Boston Celtics 72 0.461 12.6 34.5 0.364 113.7 48 24 72 0.466
## 3 Brooklyn Nets 72 0.448 13.1 38.1 0.343 111.8 35 37 72 0.494
## 4 Charlotte Hornets 65 0.434 12.1 34.3 0.352 102.9 23 42 72 0.455
## 5 Chicago Bulls 65 0.447 12.2 35.1 0.348 106.8 22 43 72 0.476
## 6 Cleveland Cavaliers 65 0.458 11.2 31.8 0.351 106.9 19 46 72 0.45
## 7 Dallas Mavericks 75 0.461 15.1 41.3 0.367 117 43 32 72 0.47
## 8 Denver Nuggets 73 0.473 11 30.6 0.359 111.3 46 27 72 0.485
## 9 Detroit Pistons 66 0.459 12 32.7 0.367 107.2 20 46 72 0.452
## 10 Golden State Warriors 65 0.438 10.4 31.3 0.334 106.3 15 50 72 0.468
## 11 Houston Rockets 72 0.451 15.6 45.3 0.345 117.8 44 28 72 0.444
## 12 Indiana Pacers 73 0.476 10.2 28 0.363 109.4 45 28 72 0.474
## 13 Los Angeles Clippers 72 0.466 12.4 33.5 0.371 116.3 49 23 72 0.482
## 14 Los Angeles Lakers 71 0.48 11 31.6 0.349 113.4 52 19 72 0.472
## 15 Memphis Grizzlies 73 0.468 10.9 31.5 0.347 112.6 34 39 72 0.467
## 16 Miami Heat 73 0.468 13.4 35.4 0.379 112 44 29 72 0.468
## 17 Milwaukee Bucks 73 0.476 13.8 38.9 0.355 118.7 56 17 72 0.487
## 18 Minnesota Timberwolves 64 0.441 13.3 39.7 0.336 113.3 19 45 72 0.448
## 19 New Orleans Pelicans 72 0.465 13.6 36.9 0.37 115.8 30 42 72 0.477
## 20 New York Knicks 66 0.447 9.6 28.4 0.337 105.8 21 45 72 0.456
## 21 Oklahoma City Thunder 72 0.468 10.7 30.2 0.355 110.4 44 28 72 0.441
## 22 Orlando Magic 73 0.444 11.1 32.2 0.343 107.3 33 40 72 0.429
## 23 Philadelphia 76ers 73 0.468 11.6 31.6 0.368 110.7 43 30 72 0.476
## 24 Phoenix Suns 73 0.468 11.4 31.8 0.358 113.6 34 39 72 0.49
## 25 Portland Trail Blazers 74 0.463 12.9 34.1 0.377 115 35 39 72 0.453
## 26 Sacramento Kings 72 0.462 12.7 34.9 0.364 110.1 31 41 72 0.481
## 27 San Antonio Spurs 71 0.472 10.7 28.5 0.376 114.1 32 39 72 0.462
## 28 Toronto Raptors 72 0.458 13.8 37 0.374 112.8 53 19 72 0.448
## 29 Utah Jazz 72 0.471 13.4 35.2 0.38 111.3 44 28 72 0.468
## 30 Washington Wizards 72 0.457 12 32.6 0.368 114.4 25 47 72 0.475
## 3P20 3PA20 3P%20 PTS20 W20 L20
## 1 12.4 33.4 0.373 113.7 41 31
## 2 13.6 36.4 0.374 112.6 36 36
## 3 14.2 36.1 0.392 118.6 48 24
## 4 13.7 37 0.369 109.5 33 39
## 5 12.6 34 0.37 110.7 31 41
## 6 10 29.7 0.336 103.8 22 50
## 7 13.8 38.1 0.362 112.4 42 30
## 8 12.9 34.2 0.377 115.1 47 25
## 9 11.6 32.9 0.351 106.6 20 52
## 10 14.6 38.7 0.376 113.7 39 33
## 11 13.8 40.6 0.339 108.8 17 55
## 12 12.3 34 0.364 115.3 34 38
## 13 14.3 34.7 0.411 114 47 25
## 14 11.1 31.2 0.354 109.5 42 30
## 15 11.2 31.4 0.356 113.3 38 34
## 16 12.9 36.2 0.358 108.1 40 32
## 17 14.4 37.1 0.389 120.1 46 26
## 18 13.1 37.6 0.349 112.1 23 49
## 19 10.6 30.4 0.348 114.6 31 41
## 20 11.8 30 0.392 107 41 31
## 21 11.9 35.1 0.339 105 22 50
## 22 10.9 31.8 0.343 104 21 51
## 23 11.3 30.1 0.374 113.6 49 23
## 24 13.1 34.6 0.378 115.3 51 21
## 25 15.7 40.8 0.385 116.1 42 30
## 26 12.1 33.3 0.364 113.7 31 41
## 27 9.9 28.4 0.35 111.1 33 39
## 28 14.5 39.3 0.368 111.3 27 45
## 29 16.7 43 0.389 116.4 52 20
## 30 10.2 29 0.351 116.6 34 38
df31 <- read.csv("C:\\Users\\LENOVO\\Downloads\\Regression Model\\Project\\sportsref_download (2).csv")
df3 <- read.csv("C:\\Users\\LENOVO\\Downloads\\2021-22.csv")
df31 <- df31 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
df3 <- df3 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
names(df3)
## [1] "Rk" "Team" "Age" "W" "L" "PW"
## [7] "PL" "MOV" "SOS" "SRS" "ORtg" "DRtg"
## [13] "NRtg" "Pace" "FTr" "X3PAr" "TS." "X"
## [19] "eFG." "TOV." "ORB." "FT.FGA" "X.1" "eFG..1"
## [25] "TOV..1" "DRB." "FT.FGA.1" "X.2" "Arena" "Attend."
## [31] "Attend..G"
df_new3 <- subset(df3, select = -c(Age, Rk, PW, PL, MOV, SOS, SRS, ORtg, DRtg, NRtg, Pace, FTr, X3PAr, TS., X, eFG., TOV., ORB., FT.FGA, X.1, X.2, eFG..1, TOV..1, DRB., FT.FGA.1, Arena, Attend., Attend..G))
df_new3
## Team W L
## 1 Boston Celtics 51 31
## 2 Phoenix Suns 64 18
## 3 Utah Jazz 49 33
## 4 Memphis Grizzlies 56 26
## 5 Golden State Warriors 53 29
## 6 Miami Heat 53 29
## 7 Dallas Mavericks 52 30
## 8 Milwaukee Bucks 51 31
## 9 Philadelphia 76ers 51 31
## 10 Minnesota Timberwolves 46 36
## 11 Denver Nuggets 48 34
## 12 Toronto Raptors 48 34
## 13 Cleveland Cavaliers 44 38
## 14 Atlanta Hawks 43 39
## 15 Brooklyn Nets 44 38
## 16 Charlotte Hornets 43 39
## 17 San Antonio Spurs 34 48
## 18 Los Angeles Clippers 42 40
## 19 New York Knicks 37 45
## 20 Chicago Bulls 46 36
## 21 New Orleans Pelicans 36 46
## 22 Los Angeles Lakers 33 49
## 23 Washington Wizards 35 47
## 24 Indiana Pacers 25 57
## 25 Sacramento Kings 30 52
## 26 Detroit Pistons 23 59
## 27 Orlando Magic 22 60
## 28 Oklahoma City Thunder 24 58
## 29 Houston Rockets 20 62
## 30 Portland Trail Blazers 27 55
merged_df2 <- merge(df31, df_new3, by = "Team")
df_2021 <- subset(merged_df2, select = -c(Rk, MP, FG, FGA, X2P, X2PA, X2P., FT, FTA, FT., ORB, DRB, TRB, AST, STL, BLK, TOV, PF))
names(df_2021) <- c("Team", "G21", "FG%21", "3P21", "3PA21", "3P%21", "PTS21", "W21", "L21")
three <- merge(two, df_2021, by = "Team")
three
## Team G19 FG%19 3P19 3PA19 3P%19 PTS19 W19 L19 G20 FG%20
## 1 Atlanta Hawks 67 0.449 12 36.1 0.333 111.8 20 47 72 0.468
## 2 Boston Celtics 72 0.461 12.6 34.5 0.364 113.7 48 24 72 0.466
## 3 Brooklyn Nets 72 0.448 13.1 38.1 0.343 111.8 35 37 72 0.494
## 4 Charlotte Hornets 65 0.434 12.1 34.3 0.352 102.9 23 42 72 0.455
## 5 Chicago Bulls 65 0.447 12.2 35.1 0.348 106.8 22 43 72 0.476
## 6 Cleveland Cavaliers 65 0.458 11.2 31.8 0.351 106.9 19 46 72 0.45
## 7 Dallas Mavericks 75 0.461 15.1 41.3 0.367 117 43 32 72 0.47
## 8 Denver Nuggets 73 0.473 11 30.6 0.359 111.3 46 27 72 0.485
## 9 Detroit Pistons 66 0.459 12 32.7 0.367 107.2 20 46 72 0.452
## 10 Golden State Warriors 65 0.438 10.4 31.3 0.334 106.3 15 50 72 0.468
## 11 Houston Rockets 72 0.451 15.6 45.3 0.345 117.8 44 28 72 0.444
## 12 Indiana Pacers 73 0.476 10.2 28 0.363 109.4 45 28 72 0.474
## 13 Los Angeles Clippers 72 0.466 12.4 33.5 0.371 116.3 49 23 72 0.482
## 14 Los Angeles Lakers 71 0.48 11 31.6 0.349 113.4 52 19 72 0.472
## 15 Memphis Grizzlies 73 0.468 10.9 31.5 0.347 112.6 34 39 72 0.467
## 16 Miami Heat 73 0.468 13.4 35.4 0.379 112 44 29 72 0.468
## 17 Milwaukee Bucks 73 0.476 13.8 38.9 0.355 118.7 56 17 72 0.487
## 18 Minnesota Timberwolves 64 0.441 13.3 39.7 0.336 113.3 19 45 72 0.448
## 19 New Orleans Pelicans 72 0.465 13.6 36.9 0.37 115.8 30 42 72 0.477
## 20 New York Knicks 66 0.447 9.6 28.4 0.337 105.8 21 45 72 0.456
## 21 Oklahoma City Thunder 72 0.468 10.7 30.2 0.355 110.4 44 28 72 0.441
## 22 Orlando Magic 73 0.444 11.1 32.2 0.343 107.3 33 40 72 0.429
## 23 Philadelphia 76ers 73 0.468 11.6 31.6 0.368 110.7 43 30 72 0.476
## 24 Phoenix Suns 73 0.468 11.4 31.8 0.358 113.6 34 39 72 0.49
## 25 Portland Trail Blazers 74 0.463 12.9 34.1 0.377 115 35 39 72 0.453
## 26 Sacramento Kings 72 0.462 12.7 34.9 0.364 110.1 31 41 72 0.481
## 27 San Antonio Spurs 71 0.472 10.7 28.5 0.376 114.1 32 39 72 0.462
## 28 Toronto Raptors 72 0.458 13.8 37 0.374 112.8 53 19 72 0.448
## 29 Utah Jazz 72 0.471 13.4 35.2 0.38 111.3 44 28 72 0.468
## 30 Washington Wizards 72 0.457 12 32.6 0.368 114.4 25 47 72 0.475
## 3P20 3PA20 3P%20 PTS20 W20 L20 G21 FG%21 3P21 3PA21 3P%21 PTS21 W21 L21
## 1 12.4 33.4 0.373 113.7 41 31 82 0.47 12.9 34.4 0.374 113.9 43 39
## 2 13.6 36.4 0.374 112.6 36 36 82 0.466 13.2 37.1 0.356 111.8 51 31
## 3 14.2 36.1 0.392 118.6 48 24 82 0.475 11.5 31.7 0.361 112.9 44 38
## 4 13.7 37 0.369 109.5 33 39 82 0.468 13.9 38.2 0.365 115.3 43 39
## 5 12.6 34 0.37 110.7 31 41 82 0.48 10.6 28.8 0.369 111.6 46 36
## 6 10 29.7 0.336 103.8 22 50 82 0.469 11.6 32.8 0.355 107.8 44 38
## 7 13.8 38.1 0.362 112.4 42 30 82 0.461 13.1 37.4 0.35 108 52 30
## 8 12.9 34.2 0.377 115.1 47 25 82 0.483 12.7 35.9 0.353 112.7 48 34
## 9 11.6 32.9 0.351 106.6 20 52 82 0.431 11.3 34.6 0.326 104.8 23 59
## 10 14.6 38.7 0.376 113.7 39 33 82 0.469 14.3 39.4 0.364 111 53 29
## 11 13.8 40.6 0.339 108.8 17 55 82 0.456 13.5 38.7 0.349 109.7 20 62
## 12 12.3 34 0.364 115.3 34 38 82 0.463 12.2 35.4 0.344 111.5 25 57
## 13 14.3 34.7 0.411 114 47 25 82 0.458 12.8 34.2 0.374 108.4 42 40
## 14 11.1 31.2 0.354 109.5 42 30 82 0.469 12 34.5 0.347 112.1 33 49
## 15 11.2 31.4 0.356 113.3 38 34 82 0.461 11.5 32.7 0.353 115.6 56 26
## 16 12.9 36.2 0.358 108.1 40 32 82 0.467 13.6 35.8 0.379 110 53 29
## 17 14.4 37.1 0.389 120.1 46 26 82 0.468 14.1 38.4 0.366 115.5 51 31
## 18 13.1 37.6 0.349 112.1 23 49 82 0.457 14.8 41.3 0.358 115.9 46 36
## 19 10.6 30.4 0.348 114.6 31 41 82 0.457 10.6 32.1 0.332 109.3 36 46
## 20 11.8 30 0.392 107 41 31 82 0.437 13.2 36.9 0.357 106.5 37 45
## 21 11.9 35.1 0.339 105 22 50 82 0.43 12.1 37.4 0.323 103.7 24 58
## 22 10.9 31.8 0.343 104 21 51 82 0.434 12.2 36.9 0.331 104.2 22 60
## 23 11.3 30.1 0.374 113.6 49 23 82 0.466 11.6 31.8 0.364 109.9 51 31
## 24 13.1 34.6 0.378 115.3 51 21 82 0.485 11.6 31.9 0.364 114.8 64 18
## 25 15.7 40.8 0.385 116.1 42 30 82 0.442 12.7 36.8 0.346 106.2 27 55
## 26 12.1 33.3 0.364 113.7 31 41 82 0.46 11.4 33.2 0.344 110.3 30 52
## 27 9.9 28.4 0.35 111.1 33 39 82 0.467 11.3 32 0.352 113.2 34 48
## 28 14.5 39.3 0.368 111.3 27 45 82 0.445 11.9 34.2 0.349 109.4 48 34
## 29 16.7 43 0.389 116.4 52 20 82 0.471 14.5 40.3 0.36 113.6 49 33
## 30 10.2 29 0.351 116.6 34 38 82 0.472 10.5 30.6 0.342 108.6 35 47
df41 <- read.csv("C:\\Users\\LENOVO\\Downloads\\Regression Model\\Project\\sportsref_download (3).csv")
df4 <- read.csv("C:\\Users\\LENOVO\\Downloads\\2022-23.csv")
df41 <- df41 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
df4 <- df4 %>%
mutate(across(everything(), ~ gsub("\\*", "", .)))
names(df4)
## [1] "Rk" "Team" "Age"
## [4] "W" "L" "PW"
## [7] "PL" "MOV" "SOS"
## [10] "SRS" "ORtg" "DRtg"
## [13] "NRtg" "Pace" "FTr"
## [16] "X3PAr" "TS." "X"
## [19] "Offense.Four.Factors" "X.1" "X.2"
## [22] "X.3" "X.4" "Defense.Four.Factors"
## [25] "X.5" "X.6" "X.7"
## [28] "X.8" "X.9" "X.10"
## [31] "X.11"
df_new4 <- subset(df4, select = -c(Age, Rk, PW, PL, MOV, SOS, SRS, ORtg, DRtg, NRtg, Pace, FTr, X3PAr, TS., X, Offense.Four.Factors, X.1, X.2, X.3, X.4, Defense.Four.Factors, X.5, X.6, X.7, X.8, X.9, X.10, X.11))
merged_df3 <- merge(df41, df_new4, by = "Team")
df_2022 <- subset(merged_df3, select = -c(Rk, MP, FG, FGA, X2P, X2PA, X2P., FT, FTA, FT., ORB, DRB, TRB, AST, STL, BLK, TOV, PF))
names(df_2022) <- c("Team", "G22", "FG%22", "3P22", "3PA22", "3P%22", "PTS22", "W22", "L22")
four <- merge(three, df_2022, by = "Team")
four
## Team G19 FG%19 3P19 3PA19 3P%19 PTS19 W19 L19 G20 FG%20
## 1 Atlanta Hawks 67 0.449 12 36.1 0.333 111.8 20 47 72 0.468
## 2 Boston Celtics 72 0.461 12.6 34.5 0.364 113.7 48 24 72 0.466
## 3 Brooklyn Nets 72 0.448 13.1 38.1 0.343 111.8 35 37 72 0.494
## 4 Charlotte Hornets 65 0.434 12.1 34.3 0.352 102.9 23 42 72 0.455
## 5 Chicago Bulls 65 0.447 12.2 35.1 0.348 106.8 22 43 72 0.476
## 6 Cleveland Cavaliers 65 0.458 11.2 31.8 0.351 106.9 19 46 72 0.45
## 7 Dallas Mavericks 75 0.461 15.1 41.3 0.367 117 43 32 72 0.47
## 8 Denver Nuggets 73 0.473 11 30.6 0.359 111.3 46 27 72 0.485
## 9 Detroit Pistons 66 0.459 12 32.7 0.367 107.2 20 46 72 0.452
## 10 Golden State Warriors 65 0.438 10.4 31.3 0.334 106.3 15 50 72 0.468
## 11 Houston Rockets 72 0.451 15.6 45.3 0.345 117.8 44 28 72 0.444
## 12 Indiana Pacers 73 0.476 10.2 28 0.363 109.4 45 28 72 0.474
## 13 Los Angeles Clippers 72 0.466 12.4 33.5 0.371 116.3 49 23 72 0.482
## 14 Los Angeles Lakers 71 0.48 11 31.6 0.349 113.4 52 19 72 0.472
## 15 Memphis Grizzlies 73 0.468 10.9 31.5 0.347 112.6 34 39 72 0.467
## 16 Miami Heat 73 0.468 13.4 35.4 0.379 112 44 29 72 0.468
## 17 Milwaukee Bucks 73 0.476 13.8 38.9 0.355 118.7 56 17 72 0.487
## 18 Minnesota Timberwolves 64 0.441 13.3 39.7 0.336 113.3 19 45 72 0.448
## 19 New Orleans Pelicans 72 0.465 13.6 36.9 0.37 115.8 30 42 72 0.477
## 20 New York Knicks 66 0.447 9.6 28.4 0.337 105.8 21 45 72 0.456
## 21 Oklahoma City Thunder 72 0.468 10.7 30.2 0.355 110.4 44 28 72 0.441
## 22 Orlando Magic 73 0.444 11.1 32.2 0.343 107.3 33 40 72 0.429
## 23 Philadelphia 76ers 73 0.468 11.6 31.6 0.368 110.7 43 30 72 0.476
## 24 Phoenix Suns 73 0.468 11.4 31.8 0.358 113.6 34 39 72 0.49
## 25 Portland Trail Blazers 74 0.463 12.9 34.1 0.377 115 35 39 72 0.453
## 26 Sacramento Kings 72 0.462 12.7 34.9 0.364 110.1 31 41 72 0.481
## 27 San Antonio Spurs 71 0.472 10.7 28.5 0.376 114.1 32 39 72 0.462
## 28 Toronto Raptors 72 0.458 13.8 37 0.374 112.8 53 19 72 0.448
## 29 Utah Jazz 72 0.471 13.4 35.2 0.38 111.3 44 28 72 0.468
## 30 Washington Wizards 72 0.457 12 32.6 0.368 114.4 25 47 72 0.475
## 3P20 3PA20 3P%20 PTS20 W20 L20 G21 FG%21 3P21 3PA21 3P%21 PTS21 W21 L21 G22
## 1 12.4 33.4 0.373 113.7 41 31 82 0.47 12.9 34.4 0.374 113.9 43 39 82
## 2 13.6 36.4 0.374 112.6 36 36 82 0.466 13.2 37.1 0.356 111.8 51 31 82
## 3 14.2 36.1 0.392 118.6 48 24 82 0.475 11.5 31.7 0.361 112.9 44 38 82
## 4 13.7 37 0.369 109.5 33 39 82 0.468 13.9 38.2 0.365 115.3 43 39 82
## 5 12.6 34 0.37 110.7 31 41 82 0.48 10.6 28.8 0.369 111.6 46 36 82
## 6 10 29.7 0.336 103.8 22 50 82 0.469 11.6 32.8 0.355 107.8 44 38 82
## 7 13.8 38.1 0.362 112.4 42 30 82 0.461 13.1 37.4 0.35 108 52 30 82
## 8 12.9 34.2 0.377 115.1 47 25 82 0.483 12.7 35.9 0.353 112.7 48 34 82
## 9 11.6 32.9 0.351 106.6 20 52 82 0.431 11.3 34.6 0.326 104.8 23 59 82
## 10 14.6 38.7 0.376 113.7 39 33 82 0.469 14.3 39.4 0.364 111 53 29 82
## 11 13.8 40.6 0.339 108.8 17 55 82 0.456 13.5 38.7 0.349 109.7 20 62 82
## 12 12.3 34 0.364 115.3 34 38 82 0.463 12.2 35.4 0.344 111.5 25 57 82
## 13 14.3 34.7 0.411 114 47 25 82 0.458 12.8 34.2 0.374 108.4 42 40 82
## 14 11.1 31.2 0.354 109.5 42 30 82 0.469 12 34.5 0.347 112.1 33 49 82
## 15 11.2 31.4 0.356 113.3 38 34 82 0.461 11.5 32.7 0.353 115.6 56 26 82
## 16 12.9 36.2 0.358 108.1 40 32 82 0.467 13.6 35.8 0.379 110 53 29 82
## 17 14.4 37.1 0.389 120.1 46 26 82 0.468 14.1 38.4 0.366 115.5 51 31 82
## 18 13.1 37.6 0.349 112.1 23 49 82 0.457 14.8 41.3 0.358 115.9 46 36 82
## 19 10.6 30.4 0.348 114.6 31 41 82 0.457 10.6 32.1 0.332 109.3 36 46 82
## 20 11.8 30 0.392 107 41 31 82 0.437 13.2 36.9 0.357 106.5 37 45 82
## 21 11.9 35.1 0.339 105 22 50 82 0.43 12.1 37.4 0.323 103.7 24 58 82
## 22 10.9 31.8 0.343 104 21 51 82 0.434 12.2 36.9 0.331 104.2 22 60 82
## 23 11.3 30.1 0.374 113.6 49 23 82 0.466 11.6 31.8 0.364 109.9 51 31 82
## 24 13.1 34.6 0.378 115.3 51 21 82 0.485 11.6 31.9 0.364 114.8 64 18 82
## 25 15.7 40.8 0.385 116.1 42 30 82 0.442 12.7 36.8 0.346 106.2 27 55 82
## 26 12.1 33.3 0.364 113.7 31 41 82 0.46 11.4 33.2 0.344 110.3 30 52 82
## 27 9.9 28.4 0.35 111.1 33 39 82 0.467 11.3 32 0.352 113.2 34 48 82
## 28 14.5 39.3 0.368 111.3 27 45 82 0.445 11.9 34.2 0.349 109.4 48 34 82
## 29 16.7 43 0.389 116.4 52 20 82 0.471 14.5 40.3 0.36 113.6 49 33 82
## 30 10.2 29 0.351 116.6 34 38 82 0.472 10.5 30.6 0.342 108.6 35 47 82
## FG%22 3P22 3PA22 3P%22 PTS22 W22 L22
## 1 0.483 10.8 30.5 0.352 118.4 41 41
## 2 0.475 16 42.6 0.377 117.9 57 25
## 3 0.487 12.8 33.8 0.378 113.4 45 37
## 4 0.457 10.7 32.5 0.33 111 27 55
## 5 0.49 10.4 28.9 0.361 113.1 40 42
## 6 0.488 11.6 31.6 0.367 112.3 51 31
## 7 0.475 15.2 41 0.371 114.2 38 44
## 8 0.504 11.8 31.2 0.379 115.8 53 29
## 9 0.454 11.4 32.4 0.351 110.3 17 65
## 10 0.479 16.6 43.2 0.385 118.9 44 38
## 11 0.457 10.4 31.9 0.327 110.7 22 60
## 12 0.469 13.6 37 0.367 116.3 35 47
## 13 0.477 12.7 33.4 0.381 113.6 44 38
## 14 0.482 10.8 31.2 0.346 117.2 43 39
## 15 0.475 12 34.2 0.351 116.9 51 31
## 16 0.46 12 34.8 0.344 109.5 44 38
## 17 0.473 14.8 40.3 0.368 116.9 58 24
## 18 0.49 12.2 33.3 0.365 115.8 42 40
## 19 0.48 11 30.1 0.364 114.4 42 40
## 20 0.47 12.6 35.7 0.354 116 47 35
## 21 0.465 12.1 34.1 0.356 117.5 40 42
## 22 0.47 10.8 31.1 0.346 111.4 34 48
## 23 0.487 12.6 32.6 0.387 115.2 54 28
## 24 0.467 12.2 32.6 0.374 113.6 45 37
## 25 0.474 12.9 35.3 0.365 113.4 33 49
## 26 0.494 13.8 37.3 0.369 120.7 48 34
## 27 0.465 11.1 32.2 0.345 113 22 60
## 28 0.459 10.7 32 0.335 112.9 41 41
## 29 0.473 13.3 37.8 0.353 117.1 37 45
## 30 0.485 11.3 31.7 0.356 113.2 35 47
four <- four[c(1,2,8,9,3,4,5,6,7,10,16,17,11,12,13,14,15,18,24,25,19,20,21,22,23,26,32,33,27,28,29,30,31)]
# Write the merged dataset to a CSV file
write.csv(four, file = "Final_NBA_dataset.csv", row.names = FALSE)