Q1

pacman::p_load(nycflights13)

View(flights)
glimpse(flights)
Rows: 336,776
Columns: 19
$ year           <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013,…
$ month          <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ day            <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ dep_time       <int> 517, 533, 542, 544, 554, 554, 555, 557, 557, 558, 558, 558, 558, …
$ sched_dep_time <int> 515, 529, 540, 545, 600, 558, 600, 600, 600, 600, 600, 600, 600, …
$ dep_delay      <dbl> 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -1, 0, -1, 0…
$ arr_time       <int> 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849, 853, 924,…
$ sched_arr_time <int> 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745, 851, 856, 917,…
$ arr_delay      <dbl> 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -14, 31, -4,…
$ carrier        <chr> "UA", "UA", "AA", "B6", "DL", "UA", "B6", "EV", "B6", "AA", "B6",…
$ flight         <int> 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, 301, 49, 71, 194…
$ tailnum        <chr> "N14228", "N24211", "N619AA", "N804JB", "N668DN", "N39463", "N516…
$ origin         <chr> "EWR", "LGA", "JFK", "JFK", "LGA", "EWR", "EWR", "LGA", "JFK", "L…
$ dest           <chr> "IAH", "IAH", "MIA", "BQN", "ATL", "ORD", "FLL", "IAD", "MCO", "O…
$ air_time       <dbl> 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, 158, 345, 3…
$ distance       <dbl> 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944, 733, 1028, 1005…
$ hour           <dbl> 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6,…
$ minute         <dbl> 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0,…
$ time_hour      <dttm> 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2…

Q2

#summarise(flights, delay=mean(dep_delay,na.rm=TRUE))

#sortf <- arrange(flights,desc(dep_delay)) 

#select(sortf, carrier, flight, tailnum, everything())

#select(flights, starts_with("dep"))
maxdep <- max(flights$dep_delay, na.rm=TRUE)

maxdep_id <- which(flights$dep_delay==maxdep)

flights[maxdep_id, 10:12]

Q3

flights %>% 

 group_by(year, month, day) %>% 

 summarise(mean = mean(dep_delay))
`summarise()` has grouped output by 'year', 'month'. You can override using the `.groups` argument.
not_cancelled <- flights %>% 
 filter(!is.na(dep_delay), !is.na(arr_delay))


#delays <- not_cancelled %>%
 #group_by(tailnum) %>% 
 #summarise(
 # delay = mean(arr_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))

Q5

not_cancelled %>% 
 group_by(year, month, day) %>% 
 summarise(
  first = min(dep_time),
  last = max(dep_time)
 )
`summarise()` has grouped output by 'year', 'month'. You can override using the `.groups` argument.

Q7

n_distinct(flights$dest)
[1] 105

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")
LS0tCnRpdGxlOiAiQXNzaWdubWVudCA2IgphdXRob3I6ICJtZSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojIyMgUTEKYGBge3J9CnBhY21hbjo6cF9sb2FkKG55Y2ZsaWdodHMxMykKClZpZXcoZmxpZ2h0cykKZ2xpbXBzZShmbGlnaHRzKQpgYGAKCiMjIyBRMgpgYGB7cn0KI3N1bW1hcmlzZShmbGlnaHRzLCBkZWxheT1tZWFuKGRlcF9kZWxheSxuYS5ybT1UUlVFKSkKCiNzb3J0ZiA8LSBhcnJhbmdlKGZsaWdodHMsZGVzYyhkZXBfZGVsYXkpKSAKCiNzZWxlY3Qoc29ydGYsIGNhcnJpZXIsIGZsaWdodCwgdGFpbG51bSwgZXZlcnl0aGluZygpKQoKI3NlbGVjdChmbGlnaHRzLCBzdGFydHNfd2l0aCgiZGVwIikpCm1heGRlcCA8LSBtYXgoZmxpZ2h0cyRkZXBfZGVsYXksIG5hLnJtPVRSVUUpCgptYXhkZXBfaWQgPC0gd2hpY2goZmxpZ2h0cyRkZXBfZGVsYXk9PW1heGRlcCkKCmZsaWdodHNbbWF4ZGVwX2lkLCAxMDoxMl0KYGBgCgojIyMgUTMKYGBge3J9CmZsaWdodHMgJT4lIAoKIGdyb3VwX2J5KHllYXIsIG1vbnRoLCBkYXkpICU+JSAKCiBzdW1tYXJpc2UobWVhbiA9IG1lYW4oZGVwX2RlbGF5KSkKCgoKbm90X2NhbmNlbGxlZCA8LSBmbGlnaHRzICU+JSAKIGZpbHRlcighaXMubmEoZGVwX2RlbGF5KSwgIWlzLm5hKGFycl9kZWxheSkpCgoKI2RlbGF5cyA8LSBub3RfY2FuY2VsbGVkICU+JQogI2dyb3VwX2J5KHRhaWxudW0pICU+JSAKICNzdW1tYXJpc2UoCiAjIGRlbGF5ID0gbWVhbihhcnJfZGVsYXkpCiMgKQoKI25vdF9jYW5jZWxsZWQgPC0gZmxpZ2h0cyAlPiUgCiAjZmlsdGVyKCFpcy5uYShkZXBfZGVsYXkpKQoKCiNub3RfY2FuY2VsbGVkICU+JSAKICNncm91cF9ieSh5ZWFyLCBtb250aCwgZGF5KSAlPiUgCiAjc3VtbWFyaXNlKG1lYW4gPSBtZWFuKGRlcF9kZWxheSkpCgoKCiNmbGlnaHRzICU+JSAKICNncm91cF9ieSh5ZWFyLCBtb250aCwgZGF5KSAlPiUgCiAjc3VtbWFyaXNlKG1lYW4gPSBtZWFuKGRlcF9kZWxheSwgbmEucm0gPSBUUlVFKSkKYGBgCgojIyMgUTUKYGBge3J9Cm5vdF9jYW5jZWxsZWQgJT4lIAogZ3JvdXBfYnkoeWVhciwgbW9udGgsIGRheSkgJT4lIAogc3VtbWFyaXNlKAogIGZpcnN0ID0gbWluKGRlcF90aW1lKSwKICBsYXN0ID0gbWF4KGRlcF90aW1lKQogKQpgYGAKIyMjIFE3CmBgYHtyfQpuX2Rpc3RpbmN0KGZsaWdodHMkZGVzdCkKYGBgCiMjIyBROQpgYGB7cn0KZGVsYXlzIDwtIGZsaWdodHMgJT4lIAogZ3JvdXBfYnkoZGVzdCkgJT4lIAogc3VtbWFyaXNlKAogIGNvdW50ID0gbigpLAogIGRpc3QgPSBtZWFuKGRpc3RhbmNlLCBuYS5ybSA9IFRSVUUpLAogIGRlbGF5ID0gbWVhbihhcnJfZGVsYXksIG5hLnJtID0gVFJVRSkKICkgJT4lIAogZmlsdGVyKGNvdW50ID4gMjAsIGRlc3QgIT0gIkhOTCIpCmBgYAoK