### Install packages
install.packages("tidyverse")
install.packages("nycflights13")
library(tidyverse)
library(nycflights13)
flights
# 1. Display all the flights from the first day of 2013
filter(flights, month==1,day==1)
# 2. Store the values from (1) in a variable called jan1
jan1<-filter(flights, month==1,day==1)
jan1
#3. Show all the flights that departed after May
filter(flights, month>5)
#4. Show all the flights that occured in Nov or Dec
filter(flights, month==11 | month==12)
#alternatively
filter(flights,month %in% c(11,12))
### Exercise
##Find Flights that:
# a. Had an arrival delay of two or more hours
filter(flights, arr_delay >= 120)
# b. Flew to Houston (IAH or HOU)
filter(flights, dest == "IAH" | dest == "HOU")
# c. Were operated by United, American, or Delta
filter(flights, dest %in% c("IAH", "HOU"))
# d. Departed in summer (July, August, and September)
filter(flights, month >= 7, month <= 9)
filter(flights, month %in% 7:9)
filter(flights, month == 7 | month == 8 | month == 9)
# e. Arrived more than two hours late, but didn’t leave late
filter(flights, arr_delay > 120, dep_delay <= 0)
# f. Were delayed by at least an hour, but made up over 30 minutes inflight
filter(flights, dep_delay >= 60, dep_delay - arr_delay > 30)
NA
NA
NA
#show all the flights and organize them by year, month and day.
arrange(flights, year, month, day)
# Sort the flights in decending order by arr_delay
arrange(flights,desc(arr_delay))
# Show the flight year month and day
select(flights, year, month, day)
#Show all the columns between year and day (inclusive)
select(flights,year:day)
#Show all columns except those from year to day (inclusive)
select(flights,-(year:day))
#show the gain(i.e. arrival delay - departure delay) and speed of planes together with the colums between year and day, distance and airtime as well as those that end with the words "delay"
select(flights, year:day, ends_with("delay"),distance,air_time)%>%
mutate(gain=arr_delay-dep_delay, speed=distance/air_time*60)
# Create 3 new variables that show the gain, hours the plane was in the air and gain per hour. Only display these three variables
transmute(flights, gain=arr_delay-dep_delay, hours=air_time/60, gain_per_hour=gain/hours)
# What was the average flight delay time?
summarize(flights, delay=mean(dep_delay, na.rm=TRUE))
#What is the average delay by month?
group_by(flights,year, month)%>%
summarize(delay=mean(dep_delay, na.rm=TRUE))
`summarise()` has grouped output by 'year'. You can override using the `.groups` argument.
LS0tDQp0aXRsZTogIk1hbmlwdWxhdGluZyBEYXRhIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQpgYGB7cn0NCiMjIyBJbnN0YWxsIHBhY2thZ2VzDQppbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKQ0KaW5zdGFsbC5wYWNrYWdlcygibnljZmxpZ2h0czEzIikNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShueWNmbGlnaHRzMTMpDQpgYGANCg0KYGBge3J9DQpmbGlnaHRzDQpgYGANCmBgYHtyfQ0KIyAxLiBEaXNwbGF5IGFsbCB0aGUgZmxpZ2h0cyBmcm9tIHRoZSBmaXJzdCBkYXkgb2YgIDIwMTMNCg0KZmlsdGVyKGZsaWdodHMsIG1vbnRoPT0xLGRheT09MSkNCmBgYA0KDQpgYGB7cn0NCiMgMi4gU3RvcmUgdGhlIHZhbHVlcyBmcm9tICAoMSkgaW4gYSB2YXJpYWJsZSBjYWxsZWQgamFuMQ0KamFuMTwtZmlsdGVyKGZsaWdodHMsIG1vbnRoPT0xLGRheT09MSkNCmphbjENCmBgYA0KDQpgYGB7cn0NCiMzLiBTaG93IGFsbCB0aGUgZmxpZ2h0cyB0aGF0IGRlcGFydGVkIGFmdGVyIE1heQ0KZmlsdGVyKGZsaWdodHMsIG1vbnRoPjUpDQpgYGANCg0KYGBge3J9DQojNC4gU2hvdyBhbGwgdGhlIGZsaWdodHMgdGhhdCBvY2N1cmVkIGluIE5vdiBvciBEZWMNCmZpbHRlcihmbGlnaHRzLCBtb250aD09MTEgfCBtb250aD09MTIpDQoNCiNhbHRlcm5hdGl2ZWx5DQoNCmZpbHRlcihmbGlnaHRzLG1vbnRoICVpbiUgYygxMSwxMikpDQpgYGANCmBgYHtyfQ0KIyMjIEV4ZXJjaXNlDQojI0ZpbmQgRmxpZ2h0cyB0aGF0Og0KIyBhLiBIYWQgYW4gYXJyaXZhbCBkZWxheSBvZiB0d28gb3IgbW9yZSBob3Vycw0KZmlsdGVyKGZsaWdodHMsIGFycl9kZWxheSA+PSAxMjApDQoNCiMgYi4gRmxldyB0byBIb3VzdG9uIChJQUggb3IgSE9VKQ0KZmlsdGVyKGZsaWdodHMsIGRlc3QgPT0gIklBSCIgfCBkZXN0ID09ICJIT1UiKQ0KDQojIGMuIFdlcmUgb3BlcmF0ZWQgYnkgVW5pdGVkLCBBbWVyaWNhbiwgb3IgRGVsdGENCmZpbHRlcihmbGlnaHRzLCBkZXN0ICVpbiUgYygiSUFIIiwgIkhPVSIpKQ0KDQojIGQuIERlcGFydGVkIGluIHN1bW1lciAoSnVseSwgQXVndXN0LCBhbmQgU2VwdGVtYmVyKQ0KZmlsdGVyKGZsaWdodHMsIG1vbnRoID49IDcsIG1vbnRoIDw9IDkpDQpmaWx0ZXIoZmxpZ2h0cywgbW9udGggJWluJSA3OjkpDQpmaWx0ZXIoZmxpZ2h0cywgbW9udGggPT0gNyB8IG1vbnRoID09IDggfCBtb250aCA9PSA5KQ0KDQojIGUuIEFycml2ZWQgbW9yZSB0aGFuIHR3byBob3VycyBsYXRlLCBidXQgZGlkbuKAmXQgbGVhdmUgbGF0ZQ0KZmlsdGVyKGZsaWdodHMsIGFycl9kZWxheSA+IDEyMCwgZGVwX2RlbGF5IDw9IDApDQoNCiMgZi4gV2VyZSBkZWxheWVkIGJ5IGF0IGxlYXN0IGFuIGhvdXIsIGJ1dCBtYWRlIHVwIG92ZXIgMzAgbWludXRlcyBpbmZsaWdodA0KZmlsdGVyKGZsaWdodHMsIGRlcF9kZWxheSA+PSA2MCwgZGVwX2RlbGF5IC0gYXJyX2RlbGF5ID4gMzApDQoNCg0KDQpgYGANCg0KYGBge3J9DQojc2hvdyBhbGwgdGhlIGZsaWdodHMgYW5kIG9yZ2FuaXplIHRoZW0gYnkgeWVhciwgbW9udGggYW5kIGRheS4NCmFycmFuZ2UoZmxpZ2h0cywgeWVhciwgbW9udGgsIGRheSkNCmBgYA0KYGBge3J9DQojIFNvcnQgdGhlIGZsaWdodHMgaW4gZGVjZW5kaW5nIG9yZGVyIGJ5IGFycl9kZWxheQ0KYXJyYW5nZShmbGlnaHRzLGRlc2MoYXJyX2RlbGF5KSkNCmBgYA0KYGBge3J9DQojIFNob3cgdGhlIGZsaWdodCB5ZWFyIG1vbnRoIGFuZCBkYXkNCg0Kc2VsZWN0KGZsaWdodHMsIHllYXIsIG1vbnRoLCBkYXkpDQpgYGANCg0KYGBge3J9DQojU2hvdyBhbGwgdGhlIGNvbHVtbnMgYmV0d2VlbiB5ZWFyIGFuZCBkYXkgKGluY2x1c2l2ZSkgDQpzZWxlY3QoZmxpZ2h0cyx5ZWFyOmRheSkNCmBgYA0KYGBge3J9DQojU2hvdyBhbGwgY29sdW1ucyBleGNlcHQgdGhvc2UgZnJvbSB5ZWFyIHRvIGRheSAoaW5jbHVzaXZlKQ0Kc2VsZWN0KGZsaWdodHMsLSh5ZWFyOmRheSkpDQpgYGANCg0KYGBge3J9DQojc2hvdyB0aGUgZ2FpbihpLmUuIGFycml2YWwgZGVsYXkgLSBkZXBhcnR1cmUgZGVsYXkpIGFuZCBzcGVlZCBvZiAgcGxhbmVzIHRvZ2V0aGVyIHdpdGggdGhlIGNvbHVtcyBiZXR3ZWVuIHllYXIgYW5kIGRheSwgZGlzdGFuY2UgYW5kIGFpcnRpbWUgYXMgd2VsbCBhcyB0aG9zZSB0aGF0IGVuZCB3aXRoIHRoZSB3b3JkcyAiZGVsYXkiDQoNCnNlbGVjdChmbGlnaHRzLCB5ZWFyOmRheSwgZW5kc193aXRoKCJkZWxheSIpLGRpc3RhbmNlLGFpcl90aW1lKSU+JQ0KICBtdXRhdGUoZ2Fpbj1hcnJfZGVsYXktZGVwX2RlbGF5LCBzcGVlZD1kaXN0YW5jZS9haXJfdGltZSo2MCkNCmBgYA0KDQpgYGB7cn0NCiMgQ3JlYXRlIDMgbmV3IHZhcmlhYmxlcyB0aGF0IHNob3cgdGhlIGdhaW4sIGhvdXJzIHRoZSBwbGFuZSB3YXMgaW4gdGhlIGFpciBhbmQgZ2FpbiBwZXIgaG91ci4gT25seSBkaXNwbGF5IHRoZXNlIHRocmVlIHZhcmlhYmxlcw0KDQp0cmFuc211dGUoZmxpZ2h0cywgZ2Fpbj1hcnJfZGVsYXktZGVwX2RlbGF5LCBob3Vycz1haXJfdGltZS82MCwgZ2Fpbl9wZXJfaG91cj1nYWluL2hvdXJzKQ0KYGBgDQoNCmBgYHtyfQ0KIyBXaGF0IHdhcyB0aGUgYXZlcmFnZSBmbGlnaHQgZGVsYXkgdGltZT8NCg0Kc3VtbWFyaXplKGZsaWdodHMsIGRlbGF5PW1lYW4oZGVwX2RlbGF5LCBuYS5ybT1UUlVFKSkNCmBgYA0KDQoNCmBgYHtyfQ0KI1doYXQgaXMgdGhlIGF2ZXJhZ2UgZGVsYXkgYnkgbW9udGg/DQpncm91cF9ieShmbGlnaHRzLHllYXIsIG1vbnRoKSU+JQ0KICBzdW1tYXJpemUoZGVsYXk9bWVhbihkZXBfZGVsYXksIG5hLnJtPVRSVUUpKQ0KDQpgYGANCg0K