Introduction

This project compares athletes training fast-twitch muscle fibers (sprinting, resistance training, plyometrics) versus those training slow-twitch fibers (jogging, light running). We analyze speed, endurance, and recovery time using a simulated dataset inspired by real-world studies.

Data Overview

The dataset includes 100 athletes with the following variables:

data <- read_csv("athlete_training_data_cleaned.csv")
## Rows: 100 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Training_Type
## dbl (7): Athlete_ID, Age, STMF_Percentage, Speed_mps, Endurance_min, Recover...
## 
## ℹ 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.

Data Analysis

Summary Statistics

summary_stats <- data %>%
  group_by(Training_Type) %>%
  summarise(
    Avg_Speed = mean(Speed_mps),
    Avg_Endurance = mean(Endurance_min),
    Avg_Recovery = mean(Recovery_Time_min),
    Avg_STMF = mean(STMF_Percentage)
  )
summary_stats
## # A tibble: 2 × 5
##   Training_Type Avg_Speed Avg_Endurance Avg_Recovery Avg_STMF
##   <chr>             <dbl>         <dbl>        <dbl>    <dbl>
## 1 Fast-Twitch        9.00          40.9         49.5     40.2
## 2 Slow-Twitch        5.81          73.1         30.0     69.4

Statistical Tests

speed_test <- t.test(Speed_mps ~ Training_Type, data = data)
endurance_test <- t.test(Endurance_min ~ Training_Type, data = data)
recovery_test <- t.test(Recovery_Time_min ~ Training_Type, data = data)
speed_test
## 
##  Welch Two Sample t-test
## 
## data:  Speed_mps by Training_Type
## t = 28.942, df = 97.101, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Fast-Twitch and group Slow-Twitch is not equal to 0
## 95 percent confidence interval:
##  2.970204 3.407556
## sample estimates:
## mean in group Fast-Twitch mean in group Slow-Twitch 
##                  9.003774                  5.814894
endurance_test
## 
##  Welch Two Sample t-test
## 
## data:  Endurance_min by Training_Type
## t = -21.44, df = 69.376, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Fast-Twitch and group Slow-Twitch is not equal to 0
## 95 percent confidence interval:
##  -35.22247 -29.22635
## sample estimates:
## mean in group Fast-Twitch mean in group Slow-Twitch 
##                  40.92453                  73.14894
recovery_test
## 
##  Welch Two Sample t-test
## 
## data:  Recovery_Time_min by Training_Type
## t = 15.566, df = 97.825, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Fast-Twitch and group Slow-Twitch is not equal to 0
## 95 percent confidence interval:
##  17.04279 22.02345
## sample estimates:
## mean in group Fast-Twitch mean in group Slow-Twitch 
##                  49.49057                  29.95745

Data Visualizations

Speed Comparison

speed_plot <- ggplot(data, aes(x = Training_Type, y = Speed_mps, fill = Training_Type)) +
  geom_boxplot() +
  theme_minimal() +
  labs(title = "Speed Comparison by Training Type", x = "Training Type", y = "Speed (m/s)") +
  scale_fill_manual(values = c("Fast-Twitch" = "coral", "Slow-Twitch" = "skyblue"))
speed_plot

Endurance Comparison

endurance_plot <- ggplot(data, aes(x = Training_Type, y = Endurance_min, fill = Training_Type)) +
  geom_boxplot() +
  theme_minimal() +
  labs(title = "Endurance Comparison by Training Type", x = "Training Type", y = "Endurance (min)") +
  scale_fill_manual(values = c("Fast-Twitch" = "coral", "Slow-Twitch" = "skyblue"))
endurance_plot

Speed vs. Endurance

scatter_plot <- ggplot(data, aes(x = Speed_mps, y = Endurance_min, color = Training_Type)) +
  geom_point(size = 3) +
  theme_minimal() +
  labs(title = "Speed vs. Endurance by Training Type", x = "Speed (m/s)", y = "Endurance (min)") +
  scale_color_manual(values = c("Fast-Twitch" = "coral", "Slow-Twitch" = "skyblue"))
scatter_plot

Tableau Dashboard

Explore an interactive dashboard with additional visualizations: https://public.tableau.com/app/profile/alexander.gallagher/viz/Athlete_Training_Comparison/Dashboard1

Key Findings

Fast-twitch athletes have higher speeds (8–10 m/s) compared to slow-twitch athletes (5–6.7 m/s).

Slow-twitch athletes excel in endurance (60–90 minutes) compared to fast-twitch athletes (30–50 minutes).

Fast-twitch athletes take longer to recover (40–60 minutes) than slow-twitch athletes (20–40 minutes).

Conclusion

Training focus significantly impacts athlete performance. Fast-twitch training enhances speed, while slow-twitch training boosts endurance. These insights can guide training programs for athletes based on their goals.