Title: Every MLB Pitch 2026 (pitch-by-pitch data) - March
Site / page: https://www.kaggle.com/datasets/brendanmcguinness/every-mlb-pitch-2026/data?select=march_2026_pitches.csv
Who posted it: Brandon McGuinness
Last updated: March 31, 2026
Downloaded on: September 14, 2026
The Kaggle states that MLB Statcast, their pitching tracking system, originally collected the data for collecting pitch data throughout the 2026 MLB season, this file being specifically for the 42 games that were played in the month of March. Brendan McGuinness compiled and posted the data on Kaggle and it is not described as synthetic.
The data was gathered using MLB Statcast which is the league’s pitch-tracking technology during MLB games in the month of March 2026. Statcast records information about each pitch thrown at an MLB game including its velocity, spin, movement, and location. One row in the dataset is a single pitch thrown so the rows are different observations on that individual pitch, not pairings, a repeat, or a snapshot.
This page says this data set has a Apache 2.0 license which allows the data to be used, copied, modified, and redistributed.
The file has 22535 rows and 23 columns.
| Column | Meaning | Stored as | Units | Range or levels | Notes |
|---|---|---|---|---|---|
game_date |
Date of the game | date | date | 2026-03-25 to 2026-03-31 | |
game_id |
Unique identifier for the game | dbl | 822834 to 825108 | Identifier rather than a measurement | |
pitcher_id |
Unique identifier for the pitcher | dbl | 434378 to 837227 | Identifier rather than a measurement | |
p_throws |
Pitcher’s throwing hand | chr | R (16,156), L (6,379) | ||
pitch_abbr |
Abbreviation for pitch type | chr | 15 pitch abbreviations | ||
pitch_name |
Name of the type of pitch thrown | chr | 15 pitch types | ||
inning |
Inning in which the pitch was thrown | dbl | inning | 1 to 11 | |
inning_topbot |
Whether the pitch occurred in the top or bottom of the inning | chr | Top (11,343), Bot (11,192) | ||
balls |
Number of balls in the count before the pitch | dbl | count | 0 to 3 | |
strikes |
Number of strikes in the count before the pitch | dbl | count | 0 to 2 | |
events |
Result/event associated with the plate appearance | chr | 20 distinct levels | ||
description |
Description of the result of the pitch | chr | 12 distinct levels | ||
total_pitch_ |
|||||
count |
Pitcher’s total pitch count | dbl | pitches | 1 to 104 | |
zone |
Statcast strike-zone location code | dbl | 1 to 14 | Categorical code stored as a number | |
attack_zone |
Location category for the pitch | dbl | 1 to 39 | Categorical code stored as a number | |
release_speed |
Speed of the pitch at release | dbl | mph | 33.6 to 102.5 | |
release_spin_ |
|||||
rate |
Spin rate of the pitch at release | dbl | rpm | 33 to 3,391 | |
pfx_x |
Horizontal movement of the pitch | dbl | feet | -2.76 to 2.26 | |
pfx_z |
Vertical movement of the pitch | dbl | feet | -1.66 to 2.34 | |
break_x |
Horizontal break of the pitch | dbl | -2.66 to 2.76 | ||
break_z |
Vertical break of the pitch | dbl | 0.48 to 19.68 | ||
plate_x |
Horizontal location of the pitch as it crosses home plate | dbl | feet | -3.56 to 3.50 | |
plate_z |
Vertical location of the pitch as it crosses home plate | dbl | feet | -2.21 to 6.37 |
In this original form of the file, there is a sum of 0 NAs. The minimums and maximums of every numeric column look plausible for their variable showing that no numeric values are being used to represent missing data. The character columns also have information that is appropriate for their variable and does not represent a missing value. I did not identify any hidden missing value words or numeric representations.
I did not find caveats in this data set in Kaggle’s page. When looking through the csv on my own, I found no duplicated rows or an unnamed first column. I did not find any specific caveats about these data in the information available from the Kaggle dataset page or its Discussion section. The variables that are numbers are stored as numeric values. I did not find a column with one value throughout. I found it complicated to have the players identified by their pitcher ID and not their names. Since my research question is focused around two specific pitches, Cam Schlittler and Jacob Misiorowski, I would like to only have their information shown
The changes I made start with switching the "null"
values in release_spin_rate to NA and
converted the variable from character to numeric. I also changed the ID
numbers with the corresponding pitcher’s names from the
player_identification.csv that this user posted alongside
the march_2026_pitches.csv. Since my research question is
focused around two specific pitches, Cam Schlittler and Jacob
Misiorowski, I also restricted the data to only have their statistics.
These changes are shown in the Data Wrangling section.
McGuinness, Brendan (2026). Every MLB Pitch 2026 (pitch-by-pitch data). Kaggle. https://www.kaggle.com/datasets/brendanmcguinness/every-mlb-pitch-2026. Accessed September 14, 2026.
Major League Baseball. (2026). Statcast. MLB.com. https://www.mlb.com/glossary/statcast. Accessed September 14, 2026.
The Cy Young Award is one of Major League Baseball’s most prestigious pitching honors recognizing outstanding pitching performances in the American League and National League. From their first start of the season, the only time they pitched in the month of March, it quickly became clear that Cam Schlittler of the New York Yankees and Jacob Misiorowski of the Milwaukee Brewers were top contenders for this award. These two pitchers provide an interesting comparison because their pitching approaches can be examined not only by how hard they throw, but also by the types of pitches they select and what they result in. Since Schlittler and Misiorowski started their season strong, comparing these dimensions from their March pitching performances can reveal whether two high-performing pitchers rely on similar arsenals or achieve their results through distinctly different pitching profiles.
Research Question: How did the pitch arsenals of Cam Schlittler and Jacob Misiorowski differ in March 2026 in terms of pitch selection (percentage of pitches thrown by pitch type), release velocity (mph), and observed outcome (pitch-level outcome)?
Four variables are used to compare the pitch arsenals of Cam Schlittler and Jacob Misiorowski.
player_name (nominal categorical, stored as
character): identifies the pitcher who threw each pitch. The two levels
included in this analysis are Cam Schlittler and Jacob
Misiorowski.
pitch_name (nominal categorical, stored as
character): identifies the type of pitch thrown. The pitch types
observed in the analysis are 4-Seam Fastball, Changeup, Curveball,
Cutter, Sinker, Slider.
release_speed (continuous numeric, stored as
numeric): represents the velocity of a pitch at release, measured in
miles per hour (mph). Release velocity ranges from 83.2 mph to 101.1
mph. The median release velocities are 97.2 mph for Cam Schlittler and
97.3 mph for Jacob Misiorowski.
description (nominal categorical, stored as
character): represents the outcome of each individual pitch. The
observed levels are ball, called_strike, foul, foul_tip, hit_into_play,
swinging_strike, swinging_strike_blocked. These outcomes are later
grouped and relabeled in the Data Wrangling section for the
pitch-outcome analysis.
Before analysis, the raw data required a few alterations, especially
since the research question compares Schlittler’s and Misiorowski’s
performances, not that of the entire league. For this reason, I first
restricted the data to pitches thrown by these two pitchers. The
release_spin_rate was originally stored as a character
because unavailable spin rate measurements were represented as
"null" so I converted these values to NA and
then converted release_spin_rate to numerical so that spin
rate could be analyzed quantitatively. I also cleaned up what the
description outcome would say to be easier to interpret and
have better grammar. Finally, I joined the pitch data with
player_identification.csv using pitcher_id so
that each pitcher could be identified by name rather than ID number.
d <- read_csv("march_2026_pitches.csv")
## Rows: 22535 Columns: 23
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (7): p_throws, pitch_abbr, pitch_name, inning_topbot, events, descript...
## dbl (15): game_id, pitcher_id, inning, balls, strikes, total_pitch_count, z...
## date (1): game_date
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
players <- read_csv("player_identification.csv")
## Rows: 859 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): player_name
## dbl (2): pitcher_id, age_pit_legacy
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
d <- d |>
# Keep only Schlittler and Misiorowski
filter(
pitcher_id %in% c(693645, 694819)
) |>
# Create readable pitch-level outcome categories
mutate(
pitch_outcome = case_when(
description == "ball" ~ "Ball",
description == "called_strike" ~ "Called strike",
description %in% c(
"swinging_strike",
"swinging_strike_blocked"
) ~ "Swinging strike",
description == "foul" ~ "Foul",
description == "foul_tip" ~ "Foul tip",
description == "hit_into_play" ~ "In play",
TRUE ~ NA_character_
)
) |>
# Add player names using pitcher ID
left_join(
players |>
select(
pitcher_id,
player_name
),
by = "pitcher_id"
)
After wrangling the data, the analysis contains 162 pitches: 68 thrown by Cam Schlittler and 94 thrown by Jacob Misiorowski.
There are 0 missing values for release_speed, 0 missing
values for description, and 0 missing values for
pitch_name.
pitch_selection <- d |>
count(player_name, pitch_name) |>
group_by(player_name) |>
mutate(
percentage = 100 * n / sum(n)
) |>
ungroup() |>
complete(
player_name,
pitch_name,
fill = list(n = 0, percentage = 0)
)
pitch_order <- pitch_selection |>
group_by(pitch_name) |>
summarize(
total_percentage = sum(percentage)
) |>
arrange(total_percentage) |>
pull(pitch_name)
pitch_selection <- pitch_selection |>
mutate(
pitch_name = factor(
pitch_name,
levels = pitch_order
)
)
jacob_fastball <- pitch_selection |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "4-Seam Fastball"
) |>
pull(percentage)
cam_fastball <- pitch_selection |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "4-Seam Fastball"
) |>
pull(percentage)
cam_top_three <- pitch_selection |>
filter(
player_name == "Schlittler, Cam",
pitch_name %in% c(
"Cutter",
"4-Seam Fastball",
"Sinker"
)
) |>
summarize(
percentage = sum(percentage)
) |>
pull(percentage)
ggplot(
pitch_selection,
aes(
x = percentage,
y = pitch_name,
fill = player_name
)
) +
geom_col(
position = position_dodge(width = 0.8),
width = 0.7
) +
geom_text(
aes(
label = if_else(
percentage > 0,
paste0(round(percentage, 1), "%"),
""
)
),
position = position_dodge(width = 0.8),
hjust = -0.15,
size = 3
) +
scale_x_continuous(
limits = c(0, 72),
expand = expansion(mult = c(0, 0))
) +
scale_fill_manual(
values = c(
"Schlittler, Cam" = "#0C2340",
"Misiorowski, Jacob" = "#FFC52F"
),
labels = c(
"Schlittler, Cam" = "Cam Schlittler",
"Misiorowski, Jacob" = "Jacob Misiorowski"
)
) +
labs(
title = "Two Pitchers, Two Very Different Arsenals",
subtitle = paste(
"Misiorowski leaned heavily on his four-seam fastball, while Schlittler\n",
"split most of his pitches among cutters, four-seam fastballs, and sinkers"
),
x = "Percentage of each pitcher's pitches (March) (%)",
y = "Pitch type",
fill = "Pitcher"
) +
theme_minimal() +
theme(
text = element_text(
#family = "Arial"
),
plot.title = element_text(
face = "bold",
size = 15
),
plot.subtitle = element_text(
size = 10,
margin = margin(b = 10)
),
axis.title = element_text(
face = "bold",
size = 11
),
axis.text = element_text(
size = 10
),
legend.title = element_text(
face = "bold",
size = 11
),
legend.text = element_text(
size = 10
)
)
Pitch selection for Cam Schlittler and Jacob Misiorowski during March 2026. Each bar represents the percentage of one pitcher’s pitches belonging to a particular pitch type. Misiorowski concentrated his pitch selection on the four-seam fastball, while Schlittler distributed his pitches more evenly across multiple pitch types.
Interpretation: Figure 1 clearly represents the difference in compositions for Schlittler’s and Misiorowski’s pitching arsenals during their first start of the season in March 2026. For Misiorowski, the most notable feature is his concentration on the four-seam fastball, which accounted for 64.9% of his pitches, where this pitch type made up 30.9% of Schlittler’s pitches, less than half of Misiorowski’s four-seam fastball use. On the contrary, Schlittler distributed 88.2% of his total pitches among his cutter, four-seam fastball, and sinker rather than concentrating most of his pitches on a single pitch type. This demonstrates how the two pitchers differed substantially in pitch selection: Misiorowski primarily utilized his four-seam fastball, while Schlittler focuses on a varied combination of pitches. Misiorowski’s heavy use of the four-seam fastball makes release speed an important next dimension for comparing the two arsenals since he famously recorded a release speed fo 105 mph this season. However, Figure 1 shows only how frequently each pitch type is thrown. It cannot establish whether the pitchers also differed in release speeds of these pitches which is examined in Figure 2.
velocity_summary <- d |>
group_by(player_name, pitch_name) |>
summarize(
n = n(),
median_velocity = median(
release_speed,
na.rm = TRUE
),
.groups = "drop"
)
jacob_fastball_velocity <- velocity_summary |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "4-Seam Fastball"
) |>
pull(median_velocity)
cam_fastball_velocity <- velocity_summary |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "4-Seam Fastball"
) |>
pull(median_velocity)
jacob_curveball_velocity <- velocity_summary |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "Curveball"
) |>
pull(median_velocity)
cam_curveball_velocity <- velocity_summary |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "Curveball"
) |>
pull(median_velocity)
jacob_slider_velocity <- velocity_summary |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "Slider"
) |>
pull(median_velocity)
cam_slider_velocity <- velocity_summary |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "Slider"
) |>
pull(median_velocity)
Hover over any individual pitch below to see the pitcher, pitch type, and release speed. This allows you to examine the individual pitches behind the median velocity comparisons discussed in the report.
figure2 <- ggplot(
d,
aes(
x = player_name,
y = release_speed,
color = player_name,
text = paste0(
"Pitcher: ", player_name,
"<br>Pitch type: ", pitch_name,
"<br>Release speed: ", release_speed, " mph"
)
)
) +
geom_jitter(
width = 0.10,
height = 0,
alpha = 0.55,
size = 2
) +
geom_point(
data = velocity_summary,
aes(
x = player_name,
y = median_velocity,
fill = player_name
),
inherit.aes = FALSE,
shape = 23,
size = 3,
color = "black",
stroke = 0.5
) +
facet_wrap(
~ pitch_name,
ncol = 3
) +
scale_color_manual(
values = c(
"Schlittler, Cam" = "#0C2340",
"Misiorowski, Jacob" = "#FFC52F"
)
) +
scale_fill_manual(
values = c(
"Schlittler, Cam" = "#0C2340",
"Misiorowski, Jacob" = "#FFC52F"
)
) +
scale_x_discrete(
labels = c(
"Schlittler, Cam" = "Schlittler",
"Misiorowski, Jacob" = "Misiorowski"
)
) +
scale_y_continuous(
breaks = seq(85, 100, 5),
minor_breaks = NULL
) +
labs(
title = "Similar Fastball Speed, Different Arsenals",
subtitle = "Hover over an individual pitch to see its release speed",
x = NULL,
y = "Release speed (mph)"
) +
guides(
color = "none",
fill = "none"
) +
theme_minimal() +
theme(
plot.title = element_text(
face = "bold",
size = 16
),
plot.subtitle = element_text(
size = 10,
margin = margin(b = 12)
),
axis.title.y = element_text(
face = "bold",
size = 11
),
axis.text.x = element_text(
size = 9
),
axis.text.y = element_text(
size = 9
),
strip.text = element_text(
face = "bold",
size = 11
),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank(),
panel.spacing = unit(
1,
"lines"
)
)
ggplotly(
figure2,
tooltip = "text"
)
Interpretation: Figure 2 illustrates how the release speeds of Schlittler’s and Misiorowski’s pitches differed across their pitch types during their first start of the season in March 2026. Despite the stark difference in four-seam fastball usage noted in Figure 1, a clear feature here is the similarity in the pitcher’s median four-seam fastball speeds. Schlittler’s median four-seam fastball was 98.7 mph, compared with 98.5 mph for Misiorowski, a difference of only 0.2 mph. There is a larger difference, however, in their secondary pitches. For example, Misiorowski’s median curveball velocity was 86.6 mph compared with 85.4 mph for Schlittler. This reveals that the pitchers’ different arsenals cannot be explained simply by how fast they throw each type of their pitches. However, Figure 2 describes only release speed for each pitch and cannot establish whether what this pitch resulted in. This will be examined in Figure 3.
pitch_outcome_summary <- d |>
count(
player_name,
pitch_name,
pitch_outcome
) |>
group_by(
player_name,
pitch_name
) |>
mutate(
percentage = 100 * n / sum(n)
) |>
ungroup()
# Four-seam fastball outcome percentages for Misiorowski
jacob_fastball_swing <- pitch_outcome_summary |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "4-Seam Fastball",
pitch_outcome == "Swinging strike"
) |>
pull(percentage)
jacob_fastball_foul <- pitch_outcome_summary |>
filter(
player_name == "Misiorowski, Jacob",
pitch_name == "4-Seam Fastball",
pitch_outcome == "Foul"
) |>
pull(percentage)
# Four-seam fastball outcome percentages for Schlittler
cam_fastball_swing <- pitch_outcome_summary |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "4-Seam Fastball",
pitch_outcome == "Swinging strike"
) |>
pull(percentage)
cam_fastball_foul <- pitch_outcome_summary |>
filter(
player_name == "Schlittler, Cam",
pitch_name == "4-Seam Fastball",
pitch_outcome == "Foul"
) |>
pull(percentage)
ggplot(
pitch_outcome_summary,
aes(
x = percentage,
y = pitch_name,
fill = pitch_outcome
)
) +
geom_col(
width = 0.7
) +
facet_wrap(
~ player_name,
ncol = 1,
labeller = as_labeller(
c(
"Schlittler, Cam" = "Cam Schlittler",
"Misiorowski, Jacob" = "Jacob Misiorowski"
)
)
) +
scale_fill_manual(
values = c(
"Ball" = "#D9D9D9",
"Called strike" = "#4575B4",
"Swinging strike" = "#313695",
"Foul" = "#FDAE61",
"Foul tip" = "#8C6BB1",
"In play" = "#D73027"
)
) +
scale_x_continuous(
limits = c(0, 100),
breaks = seq(0, 100, 20),
labels = function(x) paste0(x, "%"),
expand = c(0, 0)
) +
labs(
title = "The Same Pitch Types Produced Different Outcomes",
subtitle = paste(
"Each bar shows the distribution of outcomes\n",
"for one pitch type during each pitcher's first start"
),
x = "Percentage of pitches (%)",
y = "Pitch type",
fill = "Pitch outcome"
) +
theme_minimal() +
theme(
plot.title = element_text(
face = "bold",
size = 16
),
plot.subtitle = element_text(
size = 10,
margin = margin(b = 12)
),
axis.title = element_text(
face = "bold",
size = 11
),
axis.text = element_text(
size = 10
),
strip.text = element_text(
face = "bold",
size = 11
),
legend.title = element_text(
face = "bold",
size = 11
),
legend.text = element_text(
size = 9
),
panel.grid.major.y = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "bottom",
plot.margin = margin(
t = 10,
r = 20,
b = 10,
l = 10
)
)
Pitch outcomes by pitch type for Cam Schlittler and Jacob Misiorowski during their first starts in March 2026. Each bar represents all observed pitches of one pitch type for one pitcher, and each colored segment shows the percentage resulting in a ball, called strike, swinging strike, foul, foul tip, or ball put into play. Outcome distributions differed across pitch types and between the two pitchers.
Interpretation: Figure 3 represents the pitch outcomes for Schlittler and Misiorowski varied across the different pitch types in their arsenals during each of their first starts of the 2026 season in March. The four-seam fastball provides a clear comparison where both pitchers used the pitch often, but had different outcomes. Misiorowski generated a swinging strike on 29.5% of his four-seam fastballs, compared with 23.8% for Schlittler. From another angle, 23.8% of Schlittler’s four-seam fastballs resulted in fouls, compared with 9.8% for Misiorowski. This reveals another difference in their pitching arsenals not seen in previous figures. Figure 2 showed that their four-seam fastballs had similar median release velocities while Figure 3 shows that the observed outcomes of those pitches were distributed differently. However, Figure 3 cannot determine whether these outcome patterns are representative of each pitcher’s typical performance because the analysis is limited to pitches from a single start.
Summary.
The likely Cy Young winners of the 2026 MLB season had stellar first starts to the season with distinctly different pitching arsenals. Figure 1 demonstrates how Misiorowski’s reliance on his four-seam fastball, making up 64.9% of his pitches, is the complete opposite approach of Schlittler, where 88.2% of his pitches are spread among his cutter, four-seam fastball, and sinker. Figure 2 reveals how their release speed profiles differed based on pitch type. Their median four-seam fastball speeds were nearly identical at 98.5 mph for Misiorowski and 98.7 mph for Schlittler, while larger differences appeared among some of their secondary pitches, such as Schlittler’s median slider speed of 90.2 mph compared with Misiorowski’s median slider speed of 93.8 mph. Figure 3 further explores that similar release speeds did not correspond to identical observed outcomes, as 29.5% of Misiorowski’s four-seam fastballs resulted in swinging strikes compared with 23.8% of Schlittler’s. Figures 1–3 together show that Schlittler and Misiorowski have distinct arsenals, as seen in their pitch selection, pitch-specific release speed patterns, and differing outcome distributions among the pitches they threw.
Implications.
This analysis suggests that evaluating a pitcher’s arsenal solely on the release speeds they can reach overlooks important differences in their overall pitching approach. This is seen in Schlittler’s and Misiorowski’s nearly identical median four-seam fastball release speeds since they used the pitch at different rates and experienced a different distribution of outcomes when throwing it. When evaluating a league full of pitchers to decide who will be awarded the Cy Young, considering pitch selection and pitch-level outcomes alongside velocity is necessary in order to provide a complete picture of how a pitcher approaches hitters and overall impacts the game. All in all, these results reveal that two pitchers can achieve strong performances while relying on distinctly different combinations of pitches rather than following one common pitching approach.
Limitations.
The primary limitation of this analysis is that it only uses data from each of Schlittler’s and Misiorowski’s first start of the season since the volume of data that could be used for this assignment was limited. This consists of 68 pitches from Schlittler and 94 from Misiorowski. Due to this circumstance, the pitch selection, release speed, and outcome patterns observed in this analysis may not represent either pitcher’s performance spanning the entire season. Some individual pitch types also have very small sample sizes or none at all like Schlittler’s single slider pitch or Misiorowski throwing no sinkers, making their outcome percentages sensitive to individual pitches or nonexistent.
An additional aspect that the analysis does not account for is the characteristics of the batter facing each pitcher. This dataset does not identify the batter, whether they swing with their left or right hand, the batter’s hitting statistics, which all have potential in playing a major role of how a pitcher will decide what to pitch to that batter. Other factors such as pitch location, the ball-strike count, inning, and game situation are not considered in the Figures 1-3. These limitations mean that the analysis can reveal how their first start appearances set up their Cy Young seasons with differing pitching arsenals, but cannot fully explain how those overall differences were shown in an entire season worth of pitching starts.
Future directions.
Future directions for this analysis could expand to all of Schlittler’s and Misiorowski’s starts throughout the 2026 regular season rather than relying only on their first appearances. For every start, pitch selection, median release speed, and pitch outcomes could be calculated by pitch type to determine whether the differences observed in Figures 1–3 remained consistent throughout their Cy Young seasons. If the dataset could be expanded, the analysis could also incorporate batter identification and hitting statistics, exact pitch location, ball-strike count, and game situation to examine the decision making of each pitcher to observe what they went with in their arsenal at the given circumstance. Finally, utilizing this expanded version of the data set to connect individual pitch outcomes to the eventual plate appearance result, such as strikeout, walk, out, or hit, could provide a more complete understanding of the two pitchers’ approaches associated with overall performance. An expanded version of this data would help the analysis determine whether the differing approaches in Schlittler’s and Misiorowski’s first start were representative of their season long pitching identities or simply just how they approached that game.
I used ChatGPT to help organize the structure of my R Markdown report based on the assignment requirements and my previous lab work. I also used it to compare my research question against the rubric to make sure it met the requirements. For the inline R code usage, I verified I was writing it correctly so it can be accurately displayed once I knit to PDF. For the Figures and Interpretations section, I used it to make the figures more aesthetically pleasing like playing around with color selection, fonts, and structure. I asked it to tell me how I can put the figures on a new page so the interpretation follows.