library(tidyverse)
library(janitor)
library(lubridate)

cyclistic_df <- read_csv("output/cleaned_cyclistic_data.csv")

cyclistic_df %>%
  group_by(member_casual) %>%
  summarise(
    avg_ride_length = mean(ride_length),
    median_ride_length = median(ride_length),
    max_ride_length = max(ride_length),
    min_ride_length = min(ride_length),
    .groups = "drop"
  )
## # A tibble: 2 × 5
##   member_casual avg_ride_length median_ride_length max_ride_length
##   <chr>                   <dbl>              <dbl>           <dbl>
## 1 Customer                 61.9              23.4          177200.
## 2 Subscriber               13.9               8.35         101607.
## # ℹ 1 more variable: min_ride_length <dbl>
cyclistic_df %>%
  group_by(member_casual, day_of_week) %>%
  summarise(rides = n(), .groups = "drop") %>%
  ggplot(aes(x = day_of_week, y = rides, fill = member_casual)) +
  geom_col(position = "dodge") +
  labs(title = "Number of Rides by Day of Week",
       x = "Day", y = "Number of Rides") +
  theme_minimal()

cyclistic_df %>%
  group_by(member_casual, day_of_week) %>%
  summarise(avg_ride_length = mean(ride_length), .groups = "drop") %>%
  ggplot(aes(x = day_of_week, y = avg_ride_length, fill = member_casual)) +
  geom_col(position = "dodge") +
  labs(title = "Average Ride Length by Day of Week",
       x = "Day", y = "Avg Ride Length (mins)") +
  theme_minimal()