2 Part 2

I could group my data based on ranges of hours since my last leg workout (e.g., 0–12, 12–24, 24–48, 48+ hours) and calculate the mean vertical jump height within each group. This would help me see if more recovery time improves performance, since fatigue or muscle recovery could directly influence jump height.

# change name of table
df <- read.csv(here::here("ES193_jump.csv"))

# Rename the nasty column for clarity
df <- df %>%
  rename(
    RecoveryHours = `Time.since.last.leg.workout..hours.`,
    JumpHeight = `Highest.Vertical.Jump..inches.`
  )

# Create bins for recovery time
df <- df %>%
  mutate(RecoveryGroup = cut(RecoveryHours,
                             breaks = c(0, 12, 24, 48, Inf),
                             labels = c("0–12 hrs", "12–24 hrs", "24–48 hrs", "48+ hrs"),
                             right = FALSE))

# Summarize by group
summary_df <- df %>%
  group_by(RecoveryGroup) %>%
  summarise(MeanJump = mean(JumpHeight, na.rm = TRUE))

# Plot
ggplot(df, aes(x = RecoveryGroup, y = JumpHeight)) +
  geom_jitter(width = 0.2, color = "#2ca02c", size = 2, alpha = 0.6) +  # individual points
  geom_point(data = summary_df, aes(y = MeanJump), color = "#ff7f0e", size = 4) +  # mean points
  geom_line(data = summary_df, aes(x = RecoveryGroup, y = MeanJump, group = 1), 
            color = "#ff7f0e", size = 1) +  # straight line between means
  labs(
    x = "Recovery Time Since Last Leg Workout",
    y = "Vertical Jump Height (inches)", 
    caption = "Individual jump heights are shown in green. Orange points and the line represent the mean vertical jump height for each recovery group."

  ) +
  theme_classic(base_size = 10)

# Summarize and round the data
summary_df <- df %>%
  group_by(RecoveryGroup) %>%
  summarise(`Mean Jump Height (inches)` = round(mean(JumpHeight, na.rm = TRUE), 1))

# Create the gt table
summary_df %>%
  gt() %>%
  tab_header(
    title = "Mean Vertical Jump by Recovery Time Group"
  ) %>%
  cols_label(
    RecoveryGroup = "Recovery Time Group"
  )
Mean Vertical Jump by Recovery Time Group
Recovery Time Group Mean Jump Height (inches)
0–12 hrs 28.6
12–24 hrs 29.8
24–48 hrs 30.4
48+ hrs 31.3

Training vertical jump sometimes feels like climbing a mountain. Some days you see progress dip while other days you reach unprecedented heights. I could have a linear graph of date on the x axis and vertical jump on the y axis. Days where I have a have a higher soreness index could be red while days where I feel fresh are shaded green. This would help visualize how I’ve progressed over time and also the ups and downs of training.

# Plot

df_jump <- read.csv(here::here("ES193_jump.csv")) %>%
  rename(
    JumpHeight = `Highest.Vertical.Jump..inches.`,
    Soreness = `Soreness.Index..1.10.`,
    JumpDate = Date
  ) %>%
  mutate(
    JumpDate = as.Date(JumpDate, format = "%m/%d")
  ) %>%
  arrange(JumpDate)

ggplot(df_jump, aes(x = JumpDate, y = JumpHeight)) +
  # Mountain shape
  geom_area(fill = "gray90", alpha = 0.8) +
  
  # Add color overlay points
  geom_point(aes(color = Soreness), size = 4, alpha = 0.9) +
  
  # Trend line on top
  geom_line(color = "black", size = 1.2) +
  
  # Color scale
  scale_color_gradientn(colors = c("green3", "yellow", "red"), name = "Soreness") +
  
  # Y-axis control
  scale_y_continuous(limits = c(25, 35), expand = c(0, 0)) +
  
  #labels and title
  labs(
    title = "How Jump Height is Influenced By Soreness",
    x = "Date",
    y = "Vertical Jump Height (inches)"
  ) +
  
  # Theme
  theme_minimal(base_size = 11) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5, size = 18),
    axis.title = element_text(face = "bold"),
    panel.grid = element_blank(),
    legend.position = "right"
  )

d) I am showing context to the flucuations of physical training. Progress isn’t a straight line. I used nature to inspire my work. I was thinking about mountains and the reasons why they have crevices and imperfect peaks. The process of millions of years of erosion and uplift create what they are today – similair to how our current progress is the summation of all the steps we took to get there. The code was written to showcase that mountainous horizon. I looked up more data visualization techniques to highlight the different spectrum of soreness in an visually appealing way.

3 Part 3

  1. This paper tested multiple linear regression methods to assess the relationship betweene environmental predictors and waterhole hydrology. The response variables are waterhole extent and duration. The predictor variables are precipitation, temperature, and soil texture classes

  1. The table is organized, clearly showing predictor and response variables across temporal scales. Each cell is labeled with effect size and p-value, helping the reader interpret both the strength and significance of the environmental predictors. It may be a little too simple as it doesn’t neccesarily catch the readers eye with shading or bolding. It may be easy for the reader to miss the important statistics that are presented in the table.

  2. The table has minimal clutter. This improves the readability but nothing is outwardly distinguished. The lack of lines makes it more difficult for the reader to see what value corresponds to what predictor. There is no bolding or italics that draw the reader to a specific number. The empty space, however, is easy on the eyes as a reader.

  3. It would make sense to bold the B and P-values, allowing the reader to be drawn to the important numbers when looking briefly at the table. The author could also shade in every other row to improve the readability of the table from left to right. This creates an easier time skimming. Shading of every other column would also help when looking at the predictor variables statistics as there are too many numbers grouped together without clear division.