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