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