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==