Para el siguiente reporte, juntaremos los datos contenidos en 3 diferentes tablas de la paquetería nycflights13 y los comentarios de los hallazgos se encontrarán en negritas…

  1. Lo primero que haremos será conultar los primeros datos de los 3 data frames que ocuparemos (Airlines, airport, y flights), para observar que contiene cada una de las tablas.

Airlines está compuesta de dos clumnas. CARRIER muestra el código IATA de la aerloínea y NAME su nombre completo

head(airlines)
## # A tibble: 6 x 2
##   carrier name                    
##   <chr>   <chr>                   
## 1 9E      Endeavor Air Inc.       
## 2 AA      American Airlines Inc.  
## 3 AS      Alaska Airlines Inc.    
## 4 B6      JetBlue Airways         
## 5 DL      Delta Air Lines Inc.    
## 6 EV      ExpressJet Airlines Inc.

Airports contine 8 columnas.

La primera es FAA, el cual es un código perteneciente al sistema Federal Aviation Administration, que es especifico para cada aeropuerto público. Después, NAME contine el nombre del aeropuerto, LAT su latitud, LON su longitud y ALT la altura.
Por último, las 3 columnas restantes, tienen que ver con el timezone: TZ es el desfase de zona horaria de gmt, DST es la zona horaria de ahorro de luz diurna y el TZ es el timezone.

head(airports)
## # A tibble: 6 x 8
##   faa   name                          lat   lon   alt    tz dst   tzone         
##   <chr> <chr>                       <dbl> <dbl> <dbl> <dbl> <chr> <chr>         
## 1 04G   Lansdowne Airport            41.1 -80.6  1044    -5 A     America/New_Y…
## 2 06A   Moton Field Municipal Airp…  32.5 -85.7   264    -6 A     America/Chica…
## 3 06C   Schaumburg Regional          42.0 -88.1   801    -6 A     America/Chica…
## 4 06N   Randall Airport              41.4 -74.4   523    -5 A     America/New_Y…
## 5 09J   Jekyll Island Airport        31.1 -81.4    11    -5 A     America/New_Y…
## 6 0A9   Elizabethton Municipal Air…  36.4 -82.2  1593    -5 A     America/New_Y…

La tercera tabla, ya la conocemos, pues se tarta de flights… la tabla de 19 columnos que registra todos los vuelos de NYC realizados en el año 2013. Por lo tanto, ya estamos familiarizados con sus columnas

head(flights)
## # A tibble: 6 x 19
##    year month   day dep_time sched_dep_time dep_delay arr_time sched_arr_time
##   <int> <int> <int>    <int>          <int>     <dbl>    <int>          <int>
## 1  2013     1     1      517            515         2      830            819
## 2  2013     1     1      533            529         4      850            830
## 3  2013     1     1      542            540         2      923            850
## 4  2013     1     1      544            545        -1     1004           1022
## 5  2013     1     1      554            600        -6      812            837
## 6  2013     1     1      554            558        -4      740            728
## # … with 11 more variables: arr_delay <dbl>, carrier <chr>, flight <int>,
## #   tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>,
## #   hour <dbl>, minute <dbl>, time_hour <dttm>
  1. Después mostraremos por cada vuelo, el carrier, destino y tiempo de vuelo
flights_1 <-flights%>%
select("carrier","dest", "air_time")
head(flights_1)
## # A tibble: 6 x 3
##   carrier dest  air_time
##   <chr>   <chr>    <dbl>
## 1 UA      IAH        227
## 2 UA      IAH        227
## 3 AA      MIA        160
## 4 B6      BQN        183
## 5 DL      ATL        116
## 6 UA      ORD        150
  1. A lo anterior, agregaremos (con ayuda de la función left_join) el nombre del carrier y cambiaremos el orden de las columnas.
aerolineas <- flights_1 %>%
  left_join(airlines, by = "carrier")%>%
  select(carrier, name, dest, air_time)
 aerolineas
## # A tibble: 336,776 x 4
##    carrier name                     dest  air_time
##    <chr>   <chr>                    <chr>    <dbl>
##  1 UA      United Air Lines Inc.    IAH        227
##  2 UA      United Air Lines Inc.    IAH        227
##  3 AA      American Airlines Inc.   MIA        160
##  4 B6      JetBlue Airways          BQN        183
##  5 DL      Delta Air Lines Inc.     ATL        116
##  6 UA      United Air Lines Inc.    ORD        150
##  7 B6      JetBlue Airways          FLL        158
##  8 EV      ExpressJet Airlines Inc. IAD         53
##  9 B6      JetBlue Airways          MCO        140
## 10 AA      American Airlines Inc.   ORD        138
## # … with 336,766 more rows
  1. A lo anterior, agregaremos el nombre del aeropuerto de cada destino.
aeropuertos <- aerolineas%>%
  left_join(airports, c("dest"="faa"))
head(aeropuertos)
## # A tibble: 6 x 11
##   carrier name.x   dest  air_time name.y      lat   lon   alt    tz dst   tzone 
##   <chr>   <chr>    <chr>    <dbl> <chr>     <dbl> <dbl> <dbl> <dbl> <chr> <chr> 
## 1 UA      United … IAH        227 George B…  30.0 -95.3    97    -6 A     Ameri…
## 2 UA      United … IAH        227 George B…  30.0 -95.3    97    -6 A     Ameri…
## 3 AA      America… MIA        160 Miami In…  25.8 -80.3     8    -5 A     Ameri…
## 4 B6      JetBlue… BQN        183 <NA>       NA    NA      NA    NA <NA>  <NA>  
## 5 DL      Delta A… ATL        116 Hartsfie…  33.6 -84.4  1026    -5 A     Ameri…
## 6 UA      United … ORD        150 Chicago …  42.0 -87.9   668    -6 A     Ameri…
  1. Después cambiaremos de nombre las columnas name.x y name.y por nombre_aerolinea y nombre_aeropuerto respectivamente, para que entender el data frame sea más sencillo.
renamed <- aeropuertos%>%
  rename(nombre_aerolinea= name.x, nombre_aeropuerto=name.y )
head(renamed)
## # A tibble: 6 x 11
##   carrier nombre_aerolinea dest  air_time nombre_aeropuer…   lat   lon   alt
##   <chr>   <chr>            <chr>    <dbl> <chr>            <dbl> <dbl> <dbl>
## 1 UA      United Air Line… IAH        227 George Bush Int…  30.0 -95.3    97
## 2 UA      United Air Line… IAH        227 George Bush Int…  30.0 -95.3    97
## 3 AA      American Airlin… MIA        160 Miami Intl        25.8 -80.3     8
## 4 B6      JetBlue Airways  BQN        183 <NA>              NA    NA      NA
## 5 DL      Delta Air Lines… ATL        116 Hartsfield Jack…  33.6 -84.4  1026
## 6 UA      United Air Line… ORD        150 Chicago Ohare I…  42.0 -87.9   668
## # … with 3 more variables: tz <dbl>, dst <chr>, tzone <chr>
  1. Después solo mostraremos los campos que nos interesan: Carrier, nombre_aerolinea, dest, nombre_aeropuerto, air_time, lat, lon y tzone.

A partir de esta tabla y las columnas que muestra, podemos observar que a pesar de tratarse del mismo carrier y mismo destino, existen veces que el tiempo en el aire varía al realizar un recorrido exactamente igual

renamed%>%
  select(carrier, nombre_aerolinea, dest, nombre_aeropuerto, air_time, lat, lon, tzone)
## # A tibble: 336,776 x 8
##    carrier nombre_aerolinea  dest  nombre_aeropuerto  air_time   lat   lon tzone
##    <chr>   <chr>             <chr> <chr>                 <dbl> <dbl> <dbl> <chr>
##  1 UA      United Air Lines… IAH   George Bush Inter…      227  30.0 -95.3 Amer…
##  2 UA      United Air Lines… IAH   George Bush Inter…      227  30.0 -95.3 Amer…
##  3 AA      American Airline… MIA   Miami Intl              160  25.8 -80.3 Amer…
##  4 B6      JetBlue Airways   BQN   <NA>                    183  NA    NA   <NA> 
##  5 DL      Delta Air Lines … ATL   Hartsfield Jackso…      116  33.6 -84.4 Amer…
##  6 UA      United Air Lines… ORD   Chicago Ohare Intl      150  42.0 -87.9 Amer…
##  7 B6      JetBlue Airways   FLL   Fort Lauderdale H…      158  26.1 -80.2 Amer…
##  8 EV      ExpressJet Airli… IAD   Washington Dulles…       53  38.9 -77.5 Amer…
##  9 B6      JetBlue Airways   MCO   Orlando Intl            140  28.4 -81.3 Amer…
## 10 AA      American Airline… ORD   Chicago Ohare Intl      138  42.0 -87.9 Amer…
## # … with 336,766 more rows
  1. Después identificamos el mínimo, la media y el máximo de los tiempos de vuelo por medio de la función summary.

A partir de estos resultados podemos ver que el promedio de tiempo en el aire es de 2.5 horas, el máximo es de 11 hrs con 58 min y el mínimo es de 20min, lo cual da un rango de 11.25 hrs.

Adicionalmente, observando los cuartiles, podemos observar que lo más popular es que los vuelos no sean tan cortos

renamed%>%
  select(air_time)%>%
  summary()
##     air_time    
##  Min.   : 20.0  
##  1st Qu.: 82.0  
##  Median :129.0  
##  Mean   :150.7  
##  3rd Qu.:192.0  
##  Max.   :695.0  
##  NA's   :9430
  1. Utilizando el data frame generado en el paso 5, clasificamos los vuelos por la distancia recorrida. En la columa flight_lenght, se mostará vuelo_corto si su distancia recorrida es menor a la media y vuelo_largo si esta es mayor.

Para poder hacerlo, primero recordaremos cuál es la media de las distancias.

Abajo podemos observar que la media de las distancias recorridas por todos los vuelos registrados, es de 1040 millas

flights%>%
  select(distance)%>%
  summary()
##     distance   
##  Min.   :  17  
##  1st Qu.: 502  
##  Median : 872  
##  Mean   :1040  
##  3rd Qu.:1389  
##  Max.   :4983

Después adicionaremos la columna flight_lenght a la tabla por medio de la función mutate.

En esta tabla, podemos observar que JetBlue y Envoy Air hacen muchos vuelos cortos mientras que United y Hawaiian Airlines suelen hacer vuelos más largos. A partir de esto, podemos darnos cuenta que Jetblue y Envoy deberán realizar muchos vuelos para ser posicionados como lideres en términos de tráfico aéreo, pero United y Hawaiian pueden realizar menos y mantener un total de millas mayor más facilmente

Además, mientras menor sea el desfase de zona horaria de gmt (columna tz) y la longitud (lon), mayor es la posibilidad de que se trate de un vuelo corto

distance <- flights$distance

flight_lenghts<- cbind(renamed, distance)
mutate(renamed, flight_lenght = ifelse(distance > 1040, "vuelo largo", "vuelo corto"))
## # A tibble: 336,776 x 12
##    carrier nombre_aerolinea dest  air_time nombre_aeropuer…   lat   lon   alt
##    <chr>   <chr>            <chr>    <dbl> <chr>            <dbl> <dbl> <dbl>
##  1 UA      United Air Line… IAH        227 George Bush Int…  30.0 -95.3    97
##  2 UA      United Air Line… IAH        227 George Bush Int…  30.0 -95.3    97
##  3 AA      American Airlin… MIA        160 Miami Intl        25.8 -80.3     8
##  4 B6      JetBlue Airways  BQN        183 <NA>              NA    NA      NA
##  5 DL      Delta Air Lines… ATL        116 Hartsfield Jack…  33.6 -84.4  1026
##  6 UA      United Air Line… ORD        150 Chicago Ohare I…  42.0 -87.9   668
##  7 B6      JetBlue Airways  FLL        158 Fort Lauderdale…  26.1 -80.2     9
##  8 EV      ExpressJet Airl… IAD         53 Washington Dull…  38.9 -77.5   313
##  9 B6      JetBlue Airways  MCO        140 Orlando Intl      28.4 -81.3    96
## 10 AA      American Airlin… ORD        138 Chicago Ohare I…  42.0 -87.9   668
## # … with 336,766 more rows, and 4 more variables: tz <dbl>, dst <chr>,
## #   tzone <chr>, flight_lenght <chr>