markdown

# Load required libraries
if (!require("nycflights13")) install.packages("nycflights13")
if (!require("tidyverse")) install.packages("tidyverse")
if(!require("knitr")) install.packages("knitr")

library(nycflights13)
library(tidyverse)
library(knitr)
carrier_summary <-flights %>%
filter(!is.na(dep_delay), !is.na(arr_delay)) %>%
group_by(carrier) %>%
  summarise(
    Flights = n(),
    Avg_Arr_Delay = round(mean(arr_delay), 1),
    On_Time_Dep_Pct = paste0(round(mean(dep_delay <=0) *100, 1), "%")
  ) %>%
  arrange (desc(Flights)) %>%
  head(8)

kable(carrier_summary)
carrier Flights Avg_Arr_Delay On_Time_Dep_Pct
UA 57782 3.6 53.1%
B6 54049 9.5 60.5%
EV 51108 15.8 55%
DL 47658 1.6 68.1%
AA 31947 0.4 68.4%
MQ 25037 10.8 68.2%
US 19831 2.1 76%
9E 17294 7.4 59.6%
united_flights <-flights %>%
  filter (carrier == "UA", !is.na(dep_delay), !is.na(arr_delay))

ua_airport_summary <- united_flights %>%
  group_by(origin) %>%
  summarise (
    Flight_Count = n(),
    Avg_Dep_Delay = round (mean(dep_delay), 1),
    Median_Dep_delay = median (dep_delay),
    IQR_Dep_delay = IQR (dep_delay),
    Avg_Arr_Delay = round (mean(arr_delay), 1)
  )
kable(ua_airport_summary)
origin Flight_Count Avg_Dep_Delay Median_Dep_delay IQR_Dep_delay Avg_Arr_Delay
EWR 45501 12.4 0 15 3.5
JFK 4478 7.8 -2 10 2.5
LGA 7803 12.0 -2 12 4.6
ggplot(united_flights, aes(x =origin, y = dep_delay, fill =origin)) +
geom_boxplot(outlier.alpha= 0.2, fill ="#1d6f8a", color = "#0d3b4c") +
  coord_cartesian(ylim = c(-20, 120)) +
  theme_minimal(base_size = 14) +
  labs (
    title = "United Airlines Departure Delays by NYC Hub",
    x = "Origin Airport",
    y = "Departure Delay(Minutes)"
  )