Eli McCormack Rapsodo data visualizations against big league pitchers 2020 season averages.
library(tidyverse)
## ── Attaching packages ───────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.3 ✓ dplyr 1.0.2
## ✓ tidyr 1.1.1 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ──────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
data <- read.csv('mccormack_data.csv')
data <- na.omit(data)
plot_data <- data[1:249,]
em <- data[250,]
mf <- data[19,]
hr <- data[72,]
ao <- data[77,]
ed <- data[117,]
mf
## last_name first_name year ff_avg_speed ff_avg_spin ff_avg_break_h
## 44 Fulmer Michael 2020 93.2 2170 -5.3
## ff_avg_break_v sl_avg_speed sl_avg_spin sl_avg_break_h sl_avg_break_v
## 44 -15.6 87.6 2352 4.5 -30.4
## ch_avg_speed ch_avg_spin ch_avg_break_h ch_avg_break_v
## 44 86.7 1662 -13.8 -30.6
hr
## last_name first_name year ff_avg_speed ff_avg_spin ff_avg_break_h
## 138 Rondon Hector 2020 95.7 2045 -8.1
## ff_avg_break_v sl_avg_speed sl_avg_spin sl_avg_break_h sl_avg_break_v
## 138 -14.8 85.4 2290 5.7 -37.7
## ch_avg_speed ch_avg_spin ch_avg_break_h ch_avg_break_v
## 138 88.3 1719 -15.1 -29.5
ao
## last_name first_name year ff_avg_speed ff_avg_spin ff_avg_break_h
## 145 Ottavino Adam 2020 92.8 2433 -7.4
## ff_avg_break_v sl_avg_speed sl_avg_spin sl_avg_break_h sl_avg_break_v
## 145 -18.5 81 2862 17.9 -40.2
## ch_avg_speed ch_avg_spin ch_avg_break_h ch_avg_break_v
## 145 87.4 1990 -12.2 -33.6
ed
## last_name first_name year ff_avg_speed ff_avg_spin ff_avg_break_h
## 227 Diaz Edwin 2020 97.8 2355 -14.4
## ff_avg_break_v sl_avg_speed sl_avg_spin sl_avg_break_h sl_avg_break_v
## 227 -15.6 89.6 2319 1.2 -29.3
## ch_avg_speed ch_avg_spin ch_avg_break_h ch_avg_break_v
## 227 93.4 1669 -18.3 -26.2
em
## last_name first_name year ff_avg_speed ff_avg_spin ff_avg_break_h
## 470 McCormack Eli 2020 93 2571.8 4.1
## ff_avg_break_v sl_avg_speed sl_avg_spin sl_avg_break_h sl_avg_break_v
## 470 -14.5 77.7 2332.4 -3.1 -11.2
## ch_avg_speed ch_avg_spin ch_avg_break_h ch_avg_break_v
## 470 77.3 2447.2 -2.5 -9.4
ggplot(plot_data, aes(ff_avg_speed, ff_avg_spin)) + geom_point(alpha=.3) + ggtitle('Fastball Velocity vs. Spin Rate') + xlab('Velocity') + ylab('RPM') + geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(ff_avg_speed, ff_avg_break_h)) + geom_point(alpha=.3) + ggtitle('Fastball Velocity vs. Horizontal Break') + xlab('Velocity') + ylab('Horizontal Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') +geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(ff_avg_speed, ff_avg_break_v)) + geom_point(alpha=.3) + ggtitle('Fastball Velocity vs. Vertical Break') + xlab('Velocity') + ylab('Vertical Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(sl_avg_speed, sl_avg_spin)) + geom_point(alpha=.3) + ggtitle('Slider Velocity vs. Spin Rate') + xlab('Velocity') + ylab('RPM') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(sl_avg_speed, sl_avg_break_h)) + geom_point(alpha=.3) + ggtitle('Slider Velocity vs. Horizontal Break') + xlab('Velocity') + ylab('Horizontal Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(sl_avg_speed, sl_avg_break_v)) + geom_point(alpha=.3) + ggtitle('Slider Velocity vs. Vertical Break') + xlab('Velocity') + ylab('Vertical Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(ch_avg_speed, ch_avg_spin)) + geom_point(alpha=.3) + ggtitle('Changeup Velocity vs. Spin Rate') + xlab('Velocity') + ylab('RPM') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(sl_avg_speed, sl_avg_break_h)) + geom_point(alpha=.3) + ggtitle('Changeup Velocity vs. Horizontal Break') + xlab('Velocity') + ylab('Horizontal Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')
ggplot(plot_data, aes(sl_avg_speed, sl_avg_spin)) + geom_point(alpha=.3) + ggtitle('Changeup Velocity vs. Vertical Break') + xlab('Velocity') + ylab('Vertical Break') +geom_point(data = em, colour = 'red') + geom_text(data = em, label = 'Eli McCormack') + geom_point(data = mf, colour = 'black') + geom_text(data = mf, label = 'Michael Fulmer') + geom_point(data = hr, colour = 'black') + geom_text(data = hr, label = 'Hector Rondon') + geom_point(data = ao, colour = 'black') + geom_text(data = ao, label = 'Adam Ottovino') + geom_point(data = ed, colour = 'black') + geom_text(data = ed, label = 'Edwin Diaz')