Olivia Thompson

# Q1
install.packages("pacman")
pacman::p_load(nycflights13)
View(flights)
summary(flights)

# Q2
maxdep <- max(flights$dep_delay, na.rm=TRUE)
maxdep_id <- which(flights$dep_delay==maxdep)
flights[maxdep_id, 10:12]

sortf <- arrange(flights,desc(dep_delay)) 
select(sortf, carrier, flight, tailnum, everything())

install.packages("dplyr")
library(dplyr)
sortf <- arrange(flights,desc(dep_delay)) 
select(sortf, carrier, flight, tailnum, everything())

# Q3
flights %>% 
group_by(year, month, day) %>% 
  summarise(mean = mean(dep_delay))
  
not_cancelled <- flights %>% 
  filter(!is.na(dep_delay))
not_cancelled %>% 
  group_by(year, month, day) %>% 
  summarise(mean = mean(dep_delay))


flights %>% 
  group_by(year, month, day) %>% 
  summarise(mean = mean(dep_delay, na.rm = TRUE))

# Q4
avg_arrival_delay <- flights %>%
  filter(!is.na(arr_delay)) %>%  
  group_by(tailnum) %>%
  summarise(avg_arr_delay = mean(arr_delay, na.rm = TRUE))

lowest_avg_delay_tailnum <- avg_arrival_delay %>%
  arrange(avg_arr_delay) %>%  
  slice(1) %>%                
  pull(tailnum)               

lowest_avg_delay_tailnum

# Q5
not_cancelled %>% 
  group_by(year, month, day) %>% 
  summarise(first = min(dep_time),last = max(dep_time))
not_cancelled %>% 
 group_by(year, month, day) %>% 
 summarise(
  first = min(dep_time),
  last = max(dep_time)
)

# Q6
monthly_delay_proportion <- flights %>%
  mutate(dep_delay_over_60 = dep_delay > 60) %>%  
  group_by(month) %>%
  summarise(proportion_delayed = mean(dep_delay_over_60, na.rm = TRUE)) 
monthly_delay_proportion
## Q7 
dest_carrier_counts <- flights %>%
  group_by(dest) %>%
  summarise(num_carriers = n_distinct(carrier)) %>%
  arrange(desc(num_carriers))
max_carriers <- max(dest_carrier_counts$num_carriers)

most_carriers_destinations <- dest_carrier_counts %>%
  filter(num_carriers == max_carriers)
print(most_carriers_destinations)

Q8

see blackboard
# Q9
delays <- flights %>% 
 group_by(dest) %>% 
 summarise(
  count = n(),
  dist = mean(distance, na.rm = TRUE),
  delay = mean(arr_delay, na.rm = TRUE)
 ) %>% 
 filter(count > 20, dest != "HNL")
ran - same as code from above question except for missing the plotting step
LS0tCnRpdGxlOiAiQXNzaWdubWVudCA2ICIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojIyBPbGl2aWEgVGhvbXBzb24KYGBge3J9CiMgUTEKaW5zdGFsbC5wYWNrYWdlcygicGFjbWFuIikKcGFjbWFuOjpwX2xvYWQobnljZmxpZ2h0czEzKQpWaWV3KGZsaWdodHMpCnN1bW1hcnkoZmxpZ2h0cykKCiMgUTIKbWF4ZGVwIDwtIG1heChmbGlnaHRzJGRlcF9kZWxheSwgbmEucm09VFJVRSkKbWF4ZGVwX2lkIDwtIHdoaWNoKGZsaWdodHMkZGVwX2RlbGF5PT1tYXhkZXApCmZsaWdodHNbbWF4ZGVwX2lkLCAxMDoxMl0KCnNvcnRmIDwtIGFycmFuZ2UoZmxpZ2h0cyxkZXNjKGRlcF9kZWxheSkpIApzZWxlY3Qoc29ydGYsIGNhcnJpZXIsIGZsaWdodCwgdGFpbG51bSwgZXZlcnl0aGluZygpKQoKaW5zdGFsbC5wYWNrYWdlcygiZHBseXIiKQpsaWJyYXJ5KGRwbHlyKQpzb3J0ZiA8LSBhcnJhbmdlKGZsaWdodHMsZGVzYyhkZXBfZGVsYXkpKSAKc2VsZWN0KHNvcnRmLCBjYXJyaWVyLCBmbGlnaHQsIHRhaWxudW0sIGV2ZXJ5dGhpbmcoKSkKCiMgUTMKZmxpZ2h0cyAlPiUgCmdyb3VwX2J5KHllYXIsIG1vbnRoLCBkYXkpICU+JSAKICBzdW1tYXJpc2UobWVhbiA9IG1lYW4oZGVwX2RlbGF5KSkKICAKbm90X2NhbmNlbGxlZCA8LSBmbGlnaHRzICU+JSAKICBmaWx0ZXIoIWlzLm5hKGRlcF9kZWxheSkpCm5vdF9jYW5jZWxsZWQgJT4lIAogIGdyb3VwX2J5KHllYXIsIG1vbnRoLCBkYXkpICU+JSAKICBzdW1tYXJpc2UobWVhbiA9IG1lYW4oZGVwX2RlbGF5KSkKCgpmbGlnaHRzICU+JSAKICBncm91cF9ieSh5ZWFyLCBtb250aCwgZGF5KSAlPiUgCiAgc3VtbWFyaXNlKG1lYW4gPSBtZWFuKGRlcF9kZWxheSwgbmEucm0gPSBUUlVFKSkKCiMgUTQKYXZnX2Fycml2YWxfZGVsYXkgPC0gZmxpZ2h0cyAlPiUKICBmaWx0ZXIoIWlzLm5hKGFycl9kZWxheSkpICU+JSAgCiAgZ3JvdXBfYnkodGFpbG51bSkgJT4lCiAgc3VtbWFyaXNlKGF2Z19hcnJfZGVsYXkgPSBtZWFuKGFycl9kZWxheSwgbmEucm0gPSBUUlVFKSkKCmxvd2VzdF9hdmdfZGVsYXlfdGFpbG51bSA8LSBhdmdfYXJyaXZhbF9kZWxheSAlPiUKICBhcnJhbmdlKGF2Z19hcnJfZGVsYXkpICU+JSAgCiAgc2xpY2UoMSkgJT4lICAgICAgICAgICAgICAgIAogIHB1bGwodGFpbG51bSkgICAgICAgICAgICAgICAKCmxvd2VzdF9hdmdfZGVsYXlfdGFpbG51bQoKIyBRNQpub3RfY2FuY2VsbGVkICU+JSAKICBncm91cF9ieSh5ZWFyLCBtb250aCwgZGF5KSAlPiUgCiAgc3VtbWFyaXNlKGZpcnN0ID0gbWluKGRlcF90aW1lKSxsYXN0ID0gbWF4KGRlcF90aW1lKSkKYGBgCmBgYHtyfQpub3RfY2FuY2VsbGVkICU+JSAKIGdyb3VwX2J5KHllYXIsIG1vbnRoLCBkYXkpICU+JSAKIHN1bW1hcmlzZSgKICBmaXJzdCA9IG1pbihkZXBfdGltZSksCiAgbGFzdCA9IG1heChkZXBfdGltZSkKKQoKIyBRNgptb250aGx5X2RlbGF5X3Byb3BvcnRpb24gPC0gZmxpZ2h0cyAlPiUKICBtdXRhdGUoZGVwX2RlbGF5X292ZXJfNjAgPSBkZXBfZGVsYXkgPiA2MCkgJT4lICAKICBncm91cF9ieShtb250aCkgJT4lCiAgc3VtbWFyaXNlKHByb3BvcnRpb25fZGVsYXllZCA9IG1lYW4oZGVwX2RlbGF5X292ZXJfNjAsIG5hLnJtID0gVFJVRSkpIAptb250aGx5X2RlbGF5X3Byb3BvcnRpb24KCmBgYAoKCmBgYHtyfQojIyBRNyAKZGVzdF9jYXJyaWVyX2NvdW50cyA8LSBmbGlnaHRzICU+JQogIGdyb3VwX2J5KGRlc3QpICU+JQogIHN1bW1hcmlzZShudW1fY2FycmllcnMgPSBuX2Rpc3RpbmN0KGNhcnJpZXIpKSAlPiUKICBhcnJhbmdlKGRlc2MobnVtX2NhcnJpZXJzKSkKbWF4X2NhcnJpZXJzIDwtIG1heChkZXN0X2NhcnJpZXJfY291bnRzJG51bV9jYXJyaWVycykKCm1vc3RfY2FycmllcnNfZGVzdGluYXRpb25zIDwtIGRlc3RfY2Fycmllcl9jb3VudHMgJT4lCiAgZmlsdGVyKG51bV9jYXJyaWVycyA9PSBtYXhfY2FycmllcnMpCnByaW50KG1vc3RfY2FycmllcnNfZGVzdGluYXRpb25zKQpgYGAKIyMjIyBROAojIyMjIyMgc2VlIGJsYWNrYm9hcmQgCgogCmBgYHtyfQojIFE5CmRlbGF5cyA8LSBmbGlnaHRzICU+JSAKIGdyb3VwX2J5KGRlc3QpICU+JSAKIHN1bW1hcmlzZSgKICBjb3VudCA9IG4oKSwKICBkaXN0ID0gbWVhbihkaXN0YW5jZSwgbmEucm0gPSBUUlVFKSwKICBkZWxheSA9IG1lYW4oYXJyX2RlbGF5LCBuYS5ybSA9IFRSVUUpCiApICU+JSAKIGZpbHRlcihjb3VudCA+IDIwLCBkZXN0ICE9ICJITkwiKQpgYGAKIyMjIyMgcmFuIC0gc2FtZSBhcyBjb2RlIGZyb20gYWJvdmUgcXVlc3Rpb24gZXhjZXB0IGZvciBtaXNzaW5nIHRoZSBwbG90dGluZyBzdGVwIAoKCgoKCgoKCg==