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