INTRODUCCIÓN

Este reporte cuenta con 2 secciones.

La primera es la sección, EXPLORACIÓN, la cuál es un análisis exploratorio de la base de datos y contiene algunos resultados descriptivos.

La segunda es MANIPULACIÓN, la cuál presenta los hallazgos encontrados a través de modificaciones en el dataset original.

Para ambas secciones, las observaciones estarán en cursivas y nos basaremos en el dataset, flights, el cuál está compuesto por información de los vuelos de todos los aeropuertos de NYC:

data(flights) 
flights
## # A tibble: 336,776 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
##  7  2013     1     1      555            600        -5      913            854
##  8  2013     1     1      557            600        -3      709            723
##  9  2013     1     1      557            600        -3      838            846
## 10  2013     1     1      558            600        -2      753            745
## # … with 336,766 more rows, and 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>

EXPLORACIÓN

En esta sección desglosaremos el contenido de la base de datos

Para conocer qué datos encontraremos dentro de nuestra base de datos, debemos consultar los tipos de datos que se encuentran dentro de nuestro data set.

str(flights)
## tibble [336,776 × 19] (S3: tbl_df/tbl/data.frame)
##  $ year          : int [1:336776] 2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
##  $ month         : int [1:336776] 1 1 1 1 1 1 1 1 1 1 ...
##  $ day           : int [1:336776] 1 1 1 1 1 1 1 1 1 1 ...
##  $ dep_time      : int [1:336776] 517 533 542 544 554 554 555 557 557 558 ...
##  $ sched_dep_time: int [1:336776] 515 529 540 545 600 558 600 600 600 600 ...
##  $ dep_delay     : num [1:336776] 2 4 2 -1 -6 -4 -5 -3 -3 -2 ...
##  $ arr_time      : int [1:336776] 830 850 923 1004 812 740 913 709 838 753 ...
##  $ sched_arr_time: int [1:336776] 819 830 850 1022 837 728 854 723 846 745 ...
##  $ arr_delay     : num [1:336776] 11 20 33 -18 -25 12 19 -14 -8 8 ...
##  $ carrier       : chr [1:336776] "UA" "UA" "AA" "B6" ...
##  $ flight        : int [1:336776] 1545 1714 1141 725 461 1696 507 5708 79 301 ...
##  $ tailnum       : chr [1:336776] "N14228" "N24211" "N619AA" "N804JB" ...
##  $ origin        : chr [1:336776] "EWR" "LGA" "JFK" "JFK" ...
##  $ dest          : chr [1:336776] "IAH" "IAH" "MIA" "BQN" ...
##  $ air_time      : num [1:336776] 227 227 160 183 116 150 158 53 140 138 ...
##  $ distance      : num [1:336776] 1400 1416 1089 1576 762 ...
##  $ hour          : num [1:336776] 5 5 5 5 6 5 6 6 6 6 ...
##  $ minute        : num [1:336776] 15 29 40 45 0 58 0 0 0 0 ...
##  $ time_hour     : POSIXct[1:336776], format: "2013-01-01 05:00:00" "2013-01-01 05:00:00" ...

A partir las anteriores abreviaciones, podemos determinar el tipo de cada dato:

num = Se refiere a cualquier número entero

chr = Se refiere a una agrupación de carácteres/ texto

dbl = Se refiere a cualquier número que cuente con dos número de precisión (punto decimal)

ddtm= Se refiere a una combinación de date y time en uno mismo: Identifica de forma única un instante en el tiempo

Después, con la siguiente función identificamos que nuestro data set es una tabla, cuyos argumetos son los datos que nos interesan para la empresa.

class(flights)
## [1] "tbl_df"     "tbl"        "data.frame"

A través de la siguientes funciones , podemos ver que la tabla tiene:

Por lo tanto, la dimensión del data set (conjunto de columnas y registros) es de 19 x 336,776

ncol(flights)
## [1] 19
nrow(flights)
## [1] 336776
dim(flights)
## [1] 336776     19

Después generaremos 2 diferentes outputs de flights. El primero nos arrojará los primeros 50 registros de vuelos

head(flights,50)
## # A tibble: 50 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
##  7  2013     1     1      555            600        -5      913            854
##  8  2013     1     1      557            600        -3      709            723
##  9  2013     1     1      557            600        -3      838            846
## 10  2013     1     1      558            600        -2      753            745
## # … with 40 more rows, and 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>

Y el segundo los últimos 20

tail(flights,20)
## # A tibble: 20 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     9    30     2150           2159        -9     2250           2306
##  2  2013     9    30     2159           1845       194     2344           2030
##  3  2013     9    30     2203           2205        -2     2339           2331
##  4  2013     9    30     2207           2140        27     2257           2250
##  5  2013     9    30     2211           2059        72     2339           2242
##  6  2013     9    30     2231           2245       -14     2335           2356
##  7  2013     9    30     2233           2113        80      112             30
##  8  2013     9    30     2235           2001       154       59           2249
##  9  2013     9    30     2237           2245        -8     2345           2353
## 10  2013     9    30     2240           2245        -5     2334           2351
## 11  2013     9    30     2240           2250       -10     2347              7
## 12  2013     9    30     2241           2246        -5     2345              1
## 13  2013     9    30     2307           2255        12     2359           2358
## 14  2013     9    30     2349           2359       -10      325            350
## 15  2013     9    30       NA           1842        NA       NA           2019
## 16  2013     9    30       NA           1455        NA       NA           1634
## 17  2013     9    30       NA           2200        NA       NA           2312
## 18  2013     9    30       NA           1210        NA       NA           1330
## 19  2013     9    30       NA           1159        NA       NA           1344
## 20  2013     9    30       NA            840        NA       NA           1020
## # … 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>

Por último (de la sección Exploración) se podrá observar el resumen estadístico del data set.

A partir del cual podemos interpretar que…

summary(flights, na.rm = TRUE)
##       year          month             day           dep_time    sched_dep_time
##  Min.   :2013   Min.   : 1.000   Min.   : 1.00   Min.   :   1   Min.   : 106  
##  1st Qu.:2013   1st Qu.: 4.000   1st Qu.: 8.00   1st Qu.: 907   1st Qu.: 906  
##  Median :2013   Median : 7.000   Median :16.00   Median :1401   Median :1359  
##  Mean   :2013   Mean   : 6.549   Mean   :15.71   Mean   :1349   Mean   :1344  
##  3rd Qu.:2013   3rd Qu.:10.000   3rd Qu.:23.00   3rd Qu.:1744   3rd Qu.:1729  
##  Max.   :2013   Max.   :12.000   Max.   :31.00   Max.   :2400   Max.   :2359  
##                                                  NA's   :8255                 
##    dep_delay          arr_time    sched_arr_time   arr_delay       
##  Min.   : -43.00   Min.   :   1   Min.   :   1   Min.   : -86.000  
##  1st Qu.:  -5.00   1st Qu.:1104   1st Qu.:1124   1st Qu.: -17.000  
##  Median :  -2.00   Median :1535   Median :1556   Median :  -5.000  
##  Mean   :  12.64   Mean   :1502   Mean   :1536   Mean   :   6.895  
##  3rd Qu.:  11.00   3rd Qu.:1940   3rd Qu.:1945   3rd Qu.:  14.000  
##  Max.   :1301.00   Max.   :2400   Max.   :2359   Max.   :1272.000  
##  NA's   :8255      NA's   :8713                  NA's   :9430      
##    carrier              flight       tailnum             origin         
##  Length:336776      Min.   :   1   Length:336776      Length:336776     
##  Class :character   1st Qu.: 553   Class :character   Class :character  
##  Mode  :character   Median :1496   Mode  :character   Mode  :character  
##                     Mean   :1972                                        
##                     3rd Qu.:3465                                        
##                     Max.   :8500                                        
##                                                                         
##      dest              air_time        distance         hour      
##  Length:336776      Min.   : 20.0   Min.   :  17   Min.   : 1.00  
##  Class :character   1st Qu.: 82.0   1st Qu.: 502   1st Qu.: 9.00  
##  Mode  :character   Median :129.0   Median : 872   Median :13.00  
##                     Mean   :150.7   Mean   :1040   Mean   :13.18  
##                     3rd Qu.:192.0   3rd Qu.:1389   3rd Qu.:17.00  
##                     Max.   :695.0   Max.   :4983   Max.   :23.00  
##                     NA's   :9430                                  
##      minute        time_hour                  
##  Min.   : 0.00   Min.   :2013-01-01 05:00:00  
##  1st Qu.: 8.00   1st Qu.:2013-04-04 13:00:00  
##  Median :29.00   Median :2013-07-03 10:00:00  
##  Mean   :26.23   Mean   :2013-07-03 05:22:54  
##  3rd Qu.:44.00   3rd Qu.:2013-10-01 07:00:00  
##  Max.   :59.00   Max.   :2013-12-31 23:00:00  
## 

MANIPULACIÓN

En esta sección identificaremos cuáles son las aerolíneas de mayor tráfico aéreo en origen y destino

De acuerdo con el anterior resumen estadístico, el promedio de distancia es de 1040 millas. Si queremos saber específicamente cuales son las que han recorrido más distancia, necesitaremos saber específicamente cuales sobrepasan la media. Para esto, eliminaremos las celdas sin datos (NA) y crearemos una nueva tabla, que nos muestre solo las aerolíneas que recorren mayor distancia al promedio.

best_airlines_1 <- flights %>%
  group_by(carrier) %>%
    summarise(mean_dist= mean(distance), sum_dist=sum(distance)) %>%
  filter(mean_dist > 1040)%>%
  arrange(desc(mean_dist))
best_airlines_1
## # A tibble: 8 x 3
##   carrier mean_dist sum_dist
##   <chr>       <dbl>    <dbl>
## 1 HA          4983   1704186
## 2 VX          2499. 12902327
## 3 AS          2402   1715028
## 4 F9          1620   1109700
## 5 UA          1529. 89705524
## 6 AA          1340. 43864584
## 7 DL          1237. 59507317
## 8 B6          1069. 58384137

Después identificamos las aerolíneas líderes de los tres aeropuertos cuyo origen es Nueva York, para determinar si son las mismas en todos

John F. Kennedy (JFK):

JFK <- flights %>% 
  group_by(carrier, origin) %>% 
  filter(origin == "JFK", na.rm = TRUE)%>%
  count(dest, name= "JFK_vuelos")%>% 
  arrange(desc(JFK_vuelos))%>%
  rename(JFK_carrier= carrier)
JFK    
## # A tibble: 147 x 4
## # Groups:   JFK_carrier, origin [10]
##    JFK_carrier origin dest  JFK_vuelos
##    <chr>       <chr>  <chr>      <int>
##  1 B6          JFK    MCO         3304
##  2 AA          JFK    LAX         3217
##  3 B6          JFK    FLL         2989
##  4 B6          JFK    BUF         2803
##  5 B6          JFK    BOS         2557
##  6 DL          JFK    LAX         2501
##  7 UA          JFK    SFO         2475
##  8 B6          JFK    SJU         2352
##  9 AA          JFK    MIA         2221
## 10 MQ          JFK    DCA         2194
## # … with 137 more rows

LaGuardia (LGA) :

LGA <- flights %>% 
  group_by(origin, carrier) %>% 
  filter(origin == "LGA", na.rm = TRUE)%>%
  count(dest, name= "LGA_vuelos")%>% 
  arrange(desc(LGA_vuelos))%>%
  rename(LGA_carrier= carrier)
LGA    
## # A tibble: 155 x 4
## # Groups:   origin, LGA_carrier [13]
##    origin LGA_carrier dest  LGA_vuelos
##    <chr>  <chr>       <chr>      <int>
##  1 LGA    AA          ORD         5694
##  2 LGA    DL          ATL         5544
##  3 LGA    AA          DFW         4836
##  4 LGA    US          DCA         4716
##  5 LGA    US          BOS         4283
##  6 LGA    AA          MIA         3945
##  7 LGA    US          CLT         3538
##  8 LGA    MQ          RDU         3334
##  9 LGA    UA          ORD         3162
## 10 LGA    DL          DTW         3073
## # … with 145 more rows

Newark Liberty (EWR) :

EWR <- flights %>% 
  group_by(carrier, origin) %>% 
  filter(origin == "EWR", na.rm = TRUE)%>%
  count(dest, name= "EWR_vuelos")%>% 
  arrange(EWR_vuelos)%>%
  rename(EWR_carrier= carrier)
EWR
## # A tibble: 137 x 4
## # Groups:   EWR_carrier, origin [12]
##    EWR_carrier origin dest  EWR_vuelos
##    <chr>       <chr>  <chr>      <int>
##  1 EV          EWR    TPA            1
##  2 UA          EWR    CHS            1
##  3 UA          EWR    DTW            1
##  4 UA          EWR    IAD            1
##  5 UA          EWR    RDU            1
##  6 US          EWR    LGA            1
##  7 EV          EWR    ORD            2
##  8 OO          EWR    DTW            2
##  9 UA          EWR    CLT            2
## 10 UA          EWR    DCA            2
## # … with 127 more rows

CONCLUSIONES