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
Homers <- read.csv('24Hrs.csv')
#Create column for how many RBI were awarded on each home run
Homers$RBI <- Homers$post_bat_score - Homers$bat_score

#Find the average amount of RBI on HR then create a variable for it to use later
Average <- Homers %>% summarise(meanRBI = mean(RBI))
AverageRBI <- Average$meanRBI
AverageRBI
## [1] 1.594719
#Average Homer was worth 1.59 RBI, let's look at each player now
AveragePlayer <- Homers %>% group_by(player_name) %>% summarise(meanRBI = mean(RBI))

#Round
AveragePlayer$meanRBI <- round(AveragePlayer$meanRBI, 2)

#Now let's prepare to compare RBI luck on Home Runs by player to league average
#First we need to get each players HR total

HRTotal <- Homers %>% group_by(player_name) %>% summarise(n())

#Round Deserved RBI
AverageRBI <- round(AverageRBI, 2)

#Now let's multiply their HR by the average amount of RBI per HR
HRTotal$DeservedRBI <- HRTotal$`n()` * AverageRBI

#Put together both tables for comparison
HRTotal <- HRTotal %>% inner_join(AveragePlayer, by = "player_name")

#Multiply Mean RBI to get actual RBI on HR
HRTotal$RBIonHR <- HRTotal$`n()` * HRTotal$meanRBI

#Find RBI Luck
HRTotal$Diff <- HRTotal$DeservedRBI - HRTotal$RBIonHR

#Luckiest Hitters
HRTotalHead <- HRTotal %>% arrange(Diff) %>% head(HRTotal,n=10)
head(HRTotalHead,n=10)
## # A tibble: 10 × 6
##    player_name      `n()` DeservedRBI meanRBI RBIonHR   Diff
##    <chr>            <int>       <dbl>   <dbl>   <dbl>  <dbl>
##  1 Adames, Willy       32        50.9    2.12    67.8 -17.0 
##  2 Varsho, Daulton     18        28.6    2.17    39.1 -10.4 
##  3 Langford, Wyatt     16        25.4    2.19    35.0  -9.6 
##  4 Bart, Joey          13        20.7    2.31    30.0  -9.36
##  5 Raleigh, Cal        34        54.1    1.82    61.9  -7.82
##  6 Martinez, J.D.      16        25.4    2.06    33.0  -7.52
##  7 García Jr., Luis    18        28.6    2       36    -7.38
##  8 Nimmo, Brandon      23        36.6    1.91    43.9  -7.36
##  9 Bohm, Alec          15        23.8    2.07    31.0  -7.20
## 10 Rooker, Brent       39        62.0    1.77    69.0  -7.02
#Unluckiest Hitters
HRTotalTail <- HRTotal %>% arrange(desc(Diff)) %>% head(HRTotal,n=10)
tail(HRTotalTail,n=10)
## # A tibble: 10 × 6
##    player_name          `n()` DeservedRBI meanRBI RBIonHR  Diff
##    <chr>                <int>       <dbl>   <dbl>   <dbl> <dbl>
##  1 Duran, Jarren           21        33.4    1.1     23.1 10.3 
##  2 Vaughn, Andrew          19        30.2    1.21    23.0  7.22
##  3 Vientos, Mark           27        42.9    1.33    35.9  7.02
##  4 Tatis Jr., Fernando     21        33.4    1.29    27.1  6.3 
##  5 Burger, Jake            29        46.1    1.38    40.0  6.09
##  6 Arcia, Orlando          17        27.0    1.24    21.1  5.95
##  7 Renfroe, Hunter         15        23.8    1.2     18    5.85
##  8 Candelario, Jeimer      20        31.8    1.3     26    5.8 
##  9 Gurriel Jr., Lourdes    18        28.6    1.28    23.0  5.58
## 10 Tucker, Kyle            23        36.6    1.35    31.0  5.52