require(hflights)
## Loading required package: hflights
head(hflights)
## Year Month DayofMonth DayOfWeek DepTime ArrTime UniqueCarrier
## 5424 2011 1 1 6 1400 1500 AA
## 5425 2011 1 2 7 1401 1501 AA
## 5426 2011 1 3 1 1352 1502 AA
## 5427 2011 1 4 2 1403 1513 AA
## 5428 2011 1 5 3 1405 1507 AA
## 5429 2011 1 6 4 1359 1503 AA
## FlightNum TailNum ActualElapsedTime AirTime ArrDelay DepDelay Origin
## 5424 428 N576AA 60 40 -10 0 IAH
## 5425 428 N557AA 60 45 -9 1 IAH
## 5426 428 N541AA 70 48 -8 -8 IAH
## 5427 428 N403AA 70 39 3 3 IAH
## 5428 428 N492AA 62 44 -3 5 IAH
## 5429 428 N262AA 64 45 -7 -1 IAH
## Dest Distance TaxiIn TaxiOut Cancelled CancellationCode Diverted
## 5424 DFW 224 7 13 0 0
## 5425 DFW 224 6 9 0 0
## 5426 DFW 224 5 17 0 0
## 5427 DFW 224 9 22 0 0
## 5428 DFW 224 9 9 0 0
## 5429 DFW 224 6 13 0 0
head(hflights[,c("Year","Month","DayofMonth","UniqueCarrier","TailNum")])
## Year Month DayofMonth UniqueCarrier TailNum
## 5424 2011 1 1 AA N576AA
## 5425 2011 1 2 AA N557AA
## 5426 2011 1 3 AA N541AA
## 5427 2011 1 4 AA N403AA
## 5428 2011 1 5 AA N492AA
## 5429 2011 1 6 AA N262AA
hflights$FlightDate <- as.Date(paste(hflights$Year, hflights$Month, hflights$DayofMonth, sep="."), format="%Y.%m.%d")
head(hflights[,c("Year","Month","DayofMonth","UniqueCarrier","TailNum")])
## Year Month DayofMonth UniqueCarrier TailNum
## 5424 2011 1 1 AA N576AA
## 5425 2011 1 2 AA N557AA
## 5426 2011 1 3 AA N541AA
## 5427 2011 1 4 AA N403AA
## 5428 2011 1 5 AA N492AA
## 5429 2011 1 6 AA N262AA
hflights$FlightRate <- hflights$Distance/hflights$ActualElapsedTime
airlines <- unique(hflights$UniqueCarrier, incomparables = FALSE)
airlines.flights <- unique(paste(hflights$UniqueCarrier, hflights$FlightNum))
airlines.flights1 <- (substr(airlines.flights,1,2))
table(airlines.flights1)
## airlines.flights1
## AA AS B6 CO DL EV F9 FL MQ OO UA US WN XE YV
## 47 1 3 927 59 96 13 11 15 374 170 65 1969 1360 7
airlines.flights.Origin <- unique(paste(hflights$Origin, hflights$UniqueCarrier, hflights$FlightNum))
airlines.flights1.Origin <- (substr(airlines.flights.Origin,1,6))
table(airlines.flights1.Origin)
## airlines.flights1.Origin
## HOU B6 HOU DL HOU EV HOU F9 HOU FL HOU MQ HOU WN IAH AA IAH AS IAH CO
## 3 25 21 13 11 8 1969 47 1 927
## IAH DL IAH EV IAH MQ IAH OO IAH UA IAH US IAH XE IAH YV
## 35 77 7 374 170 65 1360 7
flgorg <- data.frame(flight.Org=table(airlines.flights1.Origin))
boxplot(flgorg, xlab="Airport-Carrier (HOU and IAH)", ylab="Flight Frequency")

badflights <- subset(hflights, ArrDelay + DepDelay > 15 | (Cancelled == 1 & CancellationCode == "A") )
airlines.badflights <- unique(paste(badflights$UniqueCarrier, badflights$FlightNum))
airlines.badflights1 <- (substr(airlines.badflights,1,2))
table(airlines.badflights1)
## airlines.badflights1
## AA AS B6 CO DL EV F9 FL MQ OO UA US WN XE YV
## 46 1 3 854 41 65 11 10 15 328 100 48 1545 1193 3
badfdf <- data.frame(badf=table(airlines.badflights1), flg=table(airlines.flights1))
badfdf$percentdelay <- round(((badfdf$badf.Freq/badfdf$flg.Freq)*100),digits=2)
plot(badfdf$badf.airlines.badflights1, xlab="Airlines", badfdf$percentdelay, ylab="% Delayed Flights")

N541AA <- subset(hflights, TailNum == "N541AA" & substr(FlightDate,1,7) >= "2011-01" &substr(FlightDate,1,7) <= "2011-06")