Spaces:
Running
Running
File size: 2,513 Bytes
dea76b9 04aa819 db3f56f 1dd1e33 db3f56f 04aa819 db3f56f 1dd1e33 db3f56f 68e9a06 db3f56f dea76b9 db3f56f dea76b9 db3f56f dea76b9 04aa819 db3f56f 04aa819 db3f56f 04aa819 68e9a06 d64c0d2 68e9a06 04aa819 dea76b9 db3f56f 68e9a06 dea76b9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
library(tidyverse)
base_path = "C:/Users/rober/Documents/Github/sabr3evaluation/data/"
base_files = grep("20[0-9]*.csv", list.files(base_path), value=T)
files = list()
for(i in 1:length(base_files))
{
files[[i]] <- read_csv(paste0(base_path, base_files[i])) %>%
filter(PA>99) %>%
filter(!Tm=="TOT") %>%
group_by(`Name-additional`) %>%
summarize(PAtot=sum(PA), OPS=weighted.mean(OPS, PA), Age=unique(Age))
files[[i]]$year <- 2016+i
}
a <- do.call(rbind.data.frame, files)
marc_pred = a %>% filter(year==2020)
r21 <- a %>% filter(year==2021)
r19 <- a %>% filter(year==2019)
r18 <- a %>% filter(year==2018)
r17 <- a %>% filter(year==2017)
colnames(marc_pred) <- c("bbref_id", "PA1", "OPSY1", "Age", "Year")
marc_pred$OPSY2 <- r19[match(marc_pred$bbref_id, r19$`Name-additional`),]$OPS
marc_pred$PA2 <- r19[match(marc_pred$bbref_id, r19$`Name-additional`),]$PAtot
marc_pred$OPSY3 <- r18[match(marc_pred$bbref_id, r18$`Name-additional`),]$OPS
marc_pred$PA3 <- r18[match(marc_pred$bbref_id, r18$`Name-additional`),]$PAtot
marc_pred$OPSY4 <- r17[match(marc_pred$bbref_id, r17$`Name-additional`),]$OPS
marc_pred$PA4 <- r17[match(marc_pred$bbref_id, r17$`Name-additional`),]$PAtot
final_pred <- marc_pred %>%
select(bbref_id, Age, PA1, PA2, PA3, PA4, OPSY1, OPSY2,
OPSY3, OPSY4) %>% filter(PA1>99&PA2>99&PA3>99&PA4>99)
final_pred$weighted_avg <- ((final_pred$OPSY1*5)+(final_pred$OPSY2*4)+(final_pred$OPSY3*3))/12
final_pred$reliability <- (final_pred$PA1+final_pred$PA2+final_pred$PA3)/
(final_pred$PA1+final_pred$PA2+final_pred$PA3+1200)
#Regressed rate = (Player reliability * Player Rate) +
#((1 – Player reliability) * .720)
final_pred$regressed_ops <- (final_pred$reliability*final_pred$weighted_avg) +
((1-final_pred$reliability) * .720)
final_pred$age_adjusted_ops <- final_pred$regressed_ops * (1+ifelse(final_pred$Age>29,
(final_pred$Age - 29) * -.003,
(final_pred$Age - 29) * .006))
final_pred$ops_pred <- final_pred$age_adjusted_ops
final_pred$ops_real <- r21[match(final_pred$bbref_id, r21$`Name-additional`),]$OPS
write_csv(final_pred, "C:/Users/rober/Documents/Github/sabr3evaluation/data/MarcelData_wproj.csv")
data_for_release <- final_pred %>%
select(-weighted_avg, -age_adjusted_ops, -reliability,
-ops_pred, -ops_real)
write_csv(final_pred,
"C:/Users/rober/Documents/Github/sabr3evaluation/data/SABR3_FinalAssignment_data.csv")
#
|