library(dplyr)
library(ggplot2)
library(nycflights13)

Exercise

Find the number of seat miles per airline, displayed in descending order

Need number of miles per flight per plane per seat per carrier

  1. Join flights to airlines by carrier to get the airline name

  2. Join flights to planes by tailnum to get seat count

  3. Mutate (distance * seats) as flight_seat_miles

  4. Group by airlines

  5. Summarize sum of flight_miles

  6. Arrange by airline_seats_miles desc

seat_miles <- flights %>% 
  inner_join(airlines, by = "carrier") %>% 
  inner_join(planes, by = "tailnum") %>% 
  mutate(flight_seat_miles = distance * seats) %>% 
  group_by(name, carrier) %>% 
  summarize(airline_seat_miles = sum(flight_seat_miles), avg_flight_seat_miles = mean(flight_seat_miles), flight_count = n()) %>% 
  arrange(-airline_seat_miles)

seat_miles
## # A tibble: 16 x 5
## # Groups:   name [16]
##    name               carrier airline_seat_miles avg_flight_seat_m~ flight_count
##    <chr>              <chr>                <dbl>              <dbl>        <int>
##  1 United Air Lines ~ UA             15516377526            272351.        56972
##  2 Delta Air Lines I~ DL             10532885801            219435.        48000
##  3 JetBlue Airways    B6              9618222135            178761.        53805
##  4 American Airlines~ AA              3677292231            361547.        10171
##  5 US Airways Inc.    US              2533505829            127716.        19837
##  6 Virgin America     VX              2296680778            444921.         5162
##  7 ExpressJet Airlin~ EV              1817236275             33545.        54173
##  8 Southwest Airline~ WN              1718116857            140403.        12237
##  9 Endeavor Air Inc.  9E               776970310             44612.        17416
## 10 Hawaiian Airlines~ HA               642478122           1878591           342
## 11 Alaska Airlines I~ AS               314104736            439923.          714
## 12 AirTran Airways C~ FL               219628520             71470.         3073
## 13 Frontier Airlines~ F9               184832280            291074.          635
## 14 Mesa Airlines Inc. YV                20163632             33550.          601
## 15 Envoy Air          MQ                 7162420              7162.         1000
## 16 SkyWest Airlines ~ OO                 1299835             40620.           32

Plot the results in a geom_col

ggplot(seat_miles, aes(name, airline_seat_miles)) + 
  geom_col() + 
  labs(x="Airline", y = "Seat Miles") +
  coord_flip()