• Situación Problema
  • Exploración
  • Conclusiones
  • Bibliografía

Situación Problema

¿Cómo mejorar la posición competitiva de una de las aerolíneas líderes en los aeropuertos de Nueva York?

Exploración

Te estás iniciando en la industria de la aviación, es importante y necesario que conozcas la base de datos del sistema administrativo del aeropuerto y para ello tendrás que explorarla e identificar las variables que la forman y sus tipos. El análisis exploratorio deberá incluir algunos resultados descriptivos. La base de datos se encuentra en el paquete library(nycflights13) y está formada por 5 data frames.

library(nycflights13)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Consultar para cada frame la base de datos

¿Cuáles son los campos y sus tipos de datos?

Base de datos 1 - Airlines

data(airlines)
str(airlines)
## tibble [16 × 2] (S3: tbl_df/tbl/data.frame)
##  $ carrier: chr [1:16] "9E" "AA" "AS" "B6" ...
##  $ name   : chr [1:16] "Endeavor Air Inc." "American Airlines Inc." "Alaska Airlines Inc." "JetBlue Airways" ...
ncol(airlines)
## [1] 2
nrow(airlines)
## [1] 16
dim(airlines)
## [1] 16  2
head(airlines)
## # A tibble: 6 × 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.
tail(airlines)
## # A tibble: 6 × 2
##   carrier name                  
##   <chr>   <chr>                 
## 1 OO      SkyWest Airlines Inc. 
## 2 UA      United Air Lines Inc. 
## 3 US      US Airways Inc.       
## 4 VX      Virgin America        
## 5 WN      Southwest Airlines Co.
## 6 YV      Mesa Airlines Inc.
summary(airlines)
##    carrier              name          
##  Length:16          Length:16         
##  Class :character   Class :character  
##  Mode  :character   Mode  :character

Base de datos 2 - Airports

data(airports)
str(airports)
## tibble [1,458 × 8] (S3: tbl_df/tbl/data.frame)
##  $ faa  : chr [1:1458] "04G" "06A" "06C" "06N" ...
##  $ name : chr [1:1458] "Lansdowne Airport" "Moton Field Municipal Airport" "Schaumburg Regional" "Randall Airport" ...
##  $ lat  : num [1:1458] 41.1 32.5 42 41.4 31.1 ...
##  $ lon  : num [1:1458] -80.6 -85.7 -88.1 -74.4 -81.4 ...
##  $ alt  : num [1:1458] 1044 264 801 523 11 ...
##  $ tz   : num [1:1458] -5 -6 -6 -5 -5 -5 -5 -5 -5 -8 ...
##  $ dst  : chr [1:1458] "A" "A" "A" "A" ...
##  $ tzone: chr [1:1458] "America/New_York" "America/Chicago" "America/Chicago" "America/New_York" ...
##  - attr(*, "spec")=List of 3
##   ..$ cols   :List of 12
##   .. ..$ id     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ name   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ city   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ country: list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ faa    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ icao   : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ lat    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ lon    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ alt    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ tz     : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
##   .. ..$ dst    : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   .. ..$ tzone  : list()
##   .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
##   ..$ skip   : num 0
##   ..- attr(*, "class")= chr "col_spec"
ncol(airports)
## [1] 8
nrow(airports)
## [1] 1458
dim(airports)
## [1] 1458    8
head(airports)
## # A tibble: 6 × 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/Ne…
## 2 06A   Moton Field Municipal Airport   32.5 -85.7   264    -6 A     America/Ch…
## 3 06C   Schaumburg Regional             42.0 -88.1   801    -6 A     America/Ch…
## 4 06N   Randall Airport                 41.4 -74.4   523    -5 A     America/Ne…
## 5 09J   Jekyll Island Airport           31.1 -81.4    11    -5 A     America/Ne…
## 6 0A9   Elizabethton Municipal Airport  36.4 -82.2  1593    -5 A     America/Ne…
tail(airports)
## # A tibble: 6 × 8
##   faa   name                        lat    lon   alt    tz dst   tzone          
##   <chr> <chr>                     <dbl>  <dbl> <dbl> <dbl> <chr> <chr>          
## 1 ZTY   Boston Back Bay Station    42.3  -71.1    20    -5 A     America/New_Yo…
## 2 ZUN   Black Rock                 35.1 -109.   6454    -7 A     America/Denver 
## 3 ZVE   New Haven Rail Station     41.3  -72.9     7    -5 A     America/New_Yo…
## 4 ZWI   Wilmington Amtrak Station  39.7  -75.6     0    -5 A     America/New_Yo…
## 5 ZWU   Washington Union Station   38.9  -77.0    76    -5 A     America/New_Yo…
## 6 ZYP   Penn Station               40.8  -74.0    35    -5 A     America/New_Yo…
summary(airports)
##      faa                name                lat             lon         
##  Length:1458        Length:1458        Min.   :19.72   Min.   :-176.65  
##  Class :character   Class :character   1st Qu.:34.26   1st Qu.:-119.19  
##  Mode  :character   Mode  :character   Median :40.09   Median : -94.66  
##                                        Mean   :41.65   Mean   :-103.39  
##                                        3rd Qu.:45.07   3rd Qu.: -82.52  
##                                        Max.   :72.27   Max.   : 174.11  
##       alt                tz              dst               tzone          
##  Min.   : -54.00   Min.   :-10.000   Length:1458        Length:1458       
##  1st Qu.:  70.25   1st Qu.: -8.000   Class :character   Class :character  
##  Median : 473.00   Median : -6.000   Mode  :character   Mode  :character  
##  Mean   :1001.42   Mean   : -6.519                                        
##  3rd Qu.:1062.50   3rd Qu.: -5.000                                        
##  Max.   :9078.00   Max.   :  8.000

Base de datos 3 - Flights

data(flights)
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" ...
ncol(flights)
## [1] 19
nrow(flights)
## [1] 336776
dim(flights)
## [1] 336776     19
head(flights)
## # A tibble: 6 × 19
##    year month   day dep_time sched_dep…¹ dep_d…² arr_t…³ sched…⁴ arr_d…⁵ carrier
##   <int> <int> <int>    <int>       <int>   <dbl>   <int>   <int>   <dbl> <chr>  
## 1  2013     1     1      517         515       2     830     819      11 UA     
## 2  2013     1     1      533         529       4     850     830      20 UA     
## 3  2013     1     1      542         540       2     923     850      33 AA     
## 4  2013     1     1      544         545      -1    1004    1022     -18 B6     
## 5  2013     1     1      554         600      -6     812     837     -25 DL     
## 6  2013     1     1      554         558      -4     740     728      12 UA     
## # … with 9 more variables: flight <int>, tailnum <chr>, origin <chr>,
## #   dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>,
## #   time_hour <dttm>, and abbreviated variable names ¹​sched_dep_time,
## #   ²​dep_delay, ³​arr_time, ⁴​sched_arr_time, ⁵​arr_delay
tail(flights)
## # A tibble: 6 × 19
##    year month   day dep_time sched_dep…¹ dep_d…² arr_t…³ sched…⁴ arr_d…⁵ carrier
##   <int> <int> <int>    <int>       <int>   <dbl>   <int>   <int>   <dbl> <chr>  
## 1  2013     9    30       NA        1842      NA      NA    2019      NA EV     
## 2  2013     9    30       NA        1455      NA      NA    1634      NA 9E     
## 3  2013     9    30       NA        2200      NA      NA    2312      NA 9E     
## 4  2013     9    30       NA        1210      NA      NA    1330      NA MQ     
## 5  2013     9    30       NA        1159      NA      NA    1344      NA MQ     
## 6  2013     9    30       NA         840      NA      NA    1020      NA MQ     
## # … with 9 more variables: flight <int>, tailnum <chr>, origin <chr>,
## #   dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>,
## #   time_hour <dttm>, and abbreviated variable names ¹​sched_dep_time,
## #   ²​dep_delay, ³​arr_time, ⁴​sched_arr_time, ⁵​arr_delay
summary(flights)
##       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.00  
##  1st Qu.: 8.00   1st Qu.:2013-04-04 13:00:00.00  
##  Median :29.00   Median :2013-07-03 10:00:00.00  
##  Mean   :26.23   Mean   :2013-07-03 05:22:54.64  
##  3rd Qu.:44.00   3rd Qu.:2013-10-01 07:00:00.00  
##  Max.   :59.00   Max.   :2013-12-31 23:00:00.00  
## 

Base de datos 4 - Planes

data(planes)
str(planes)
## tibble [3,322 × 9] (S3: tbl_df/tbl/data.frame)
##  $ tailnum     : chr [1:3322] "N10156" "N102UW" "N103US" "N104UW" ...
##  $ year        : int [1:3322] 2004 1998 1999 1999 2002 1999 1999 1999 1999 1999 ...
##  $ type        : chr [1:3322] "Fixed wing multi engine" "Fixed wing multi engine" "Fixed wing multi engine" "Fixed wing multi engine" ...
##  $ manufacturer: chr [1:3322] "EMBRAER" "AIRBUS INDUSTRIE" "AIRBUS INDUSTRIE" "AIRBUS INDUSTRIE" ...
##  $ model       : chr [1:3322] "EMB-145XR" "A320-214" "A320-214" "A320-214" ...
##  $ engines     : int [1:3322] 2 2 2 2 2 2 2 2 2 2 ...
##  $ seats       : int [1:3322] 55 182 182 182 55 182 182 182 182 182 ...
##  $ speed       : int [1:3322] NA NA NA NA NA NA NA NA NA NA ...
##  $ engine      : chr [1:3322] "Turbo-fan" "Turbo-fan" "Turbo-fan" "Turbo-fan" ...
ncol(planes)
## [1] 9
nrow(planes)
## [1] 3322
dim(planes)
## [1] 3322    9
head(planes)
## # A tibble: 6 × 9
##   tailnum  year type                    manuf…¹ model engines seats speed engine
##   <chr>   <int> <chr>                   <chr>   <chr>   <int> <int> <int> <chr> 
## 1 N10156   2004 Fixed wing multi engine EMBRAER EMB-…       2    55    NA Turbo…
## 2 N102UW   1998 Fixed wing multi engine AIRBUS… A320…       2   182    NA Turbo…
## 3 N103US   1999 Fixed wing multi engine AIRBUS… A320…       2   182    NA Turbo…
## 4 N104UW   1999 Fixed wing multi engine AIRBUS… A320…       2   182    NA Turbo…
## 5 N10575   2002 Fixed wing multi engine EMBRAER EMB-…       2    55    NA Turbo…
## 6 N105UW   1999 Fixed wing multi engine AIRBUS… A320…       2   182    NA Turbo…
## # … with abbreviated variable name ¹​manufacturer
tail(planes)
## # A tibble: 6 × 9
##   tailnum  year type                    manuf…¹ model engines seats speed engine
##   <chr>   <int> <chr>                   <chr>   <chr>   <int> <int> <int> <chr> 
## 1 N996DL   1991 Fixed wing multi engine MCDONN… MD-88       2   142    NA Turbo…
## 2 N997AT   2002 Fixed wing multi engine BOEING  717-…       2   100    NA Turbo…
## 3 N997DL   1992 Fixed wing multi engine MCDONN… MD-88       2   142    NA Turbo…
## 4 N998AT   2002 Fixed wing multi engine BOEING  717-…       2   100    NA Turbo…
## 5 N998DL   1992 Fixed wing multi engine MCDONN… MD-88       2   142    NA Turbo…
## 6 N999DN   1992 Fixed wing multi engine MCDONN… MD-88       2   142    NA Turbo…
## # … with abbreviated variable name ¹​manufacturer
summary(planes)
##    tailnum               year          type           manufacturer      
##  Length:3322        Min.   :1956   Length:3322        Length:3322       
##  Class :character   1st Qu.:1997   Class :character   Class :character  
##  Mode  :character   Median :2001   Mode  :character   Mode  :character  
##                     Mean   :2000                                        
##                     3rd Qu.:2005                                        
##                     Max.   :2013                                        
##                     NA's   :70                                          
##     model              engines          seats           speed      
##  Length:3322        Min.   :1.000   Min.   :  2.0   Min.   : 90.0  
##  Class :character   1st Qu.:2.000   1st Qu.:140.0   1st Qu.:107.5  
##  Mode  :character   Median :2.000   Median :149.0   Median :162.0  
##                     Mean   :1.995   Mean   :154.3   Mean   :236.8  
##                     3rd Qu.:2.000   3rd Qu.:182.0   3rd Qu.:432.0  
##                     Max.   :4.000   Max.   :450.0   Max.   :432.0  
##                                                     NA's   :3299   
##     engine         
##  Length:3322       
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Base de datos 5 - Weather

data(weather)
str(weather)
## tibble [26,115 × 15] (S3: tbl_df/tbl/data.frame)
##  $ origin    : chr [1:26115] "EWR" "EWR" "EWR" "EWR" ...
##  $ year      : int [1:26115] 2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
##  $ month     : int [1:26115] 1 1 1 1 1 1 1 1 1 1 ...
##  $ day       : int [1:26115] 1 1 1 1 1 1 1 1 1 1 ...
##  $ hour      : int [1:26115] 1 2 3 4 5 6 7 8 9 10 ...
##  $ temp      : num [1:26115] 39 39 39 39.9 39 ...
##  $ dewp      : num [1:26115] 26.1 27 28 28 28 ...
##  $ humid     : num [1:26115] 59.4 61.6 64.4 62.2 64.4 ...
##  $ wind_dir  : num [1:26115] 270 250 240 250 260 240 240 250 260 260 ...
##  $ wind_speed: num [1:26115] 10.36 8.06 11.51 12.66 12.66 ...
##  $ wind_gust : num [1:26115] NA NA NA NA NA NA NA NA NA NA ...
##  $ precip    : num [1:26115] 0 0 0 0 0 0 0 0 0 0 ...
##  $ pressure  : num [1:26115] 1012 1012 1012 1012 1012 ...
##  $ visib     : num [1:26115] 10 10 10 10 10 10 10 10 10 10 ...
##  $ time_hour : POSIXct[1:26115], format: "2013-01-01 01:00:00" "2013-01-01 02:00:00" ...
ncol(weather)
## [1] 15
nrow(weather)
## [1] 26115
dim(weather)
## [1] 26115    15
head(weather)
## # A tibble: 6 × 15
##   origin  year month   day  hour  temp  dewp humid wind_dir wind_speed wind_gust
##   <chr>  <int> <int> <int> <int> <dbl> <dbl> <dbl>    <dbl>      <dbl>     <dbl>
## 1 EWR     2013     1     1     1  39.0  26.1  59.4      270      10.4         NA
## 2 EWR     2013     1     1     2  39.0  27.0  61.6      250       8.06        NA
## 3 EWR     2013     1     1     3  39.0  28.0  64.4      240      11.5         NA
## 4 EWR     2013     1     1     4  39.9  28.0  62.2      250      12.7         NA
## 5 EWR     2013     1     1     5  39.0  28.0  64.4      260      12.7         NA
## 6 EWR     2013     1     1     6  37.9  28.0  67.2      240      11.5         NA
## # … with 4 more variables: precip <dbl>, pressure <dbl>, visib <dbl>,
## #   time_hour <dttm>
tail(weather)
## # A tibble: 6 × 15
##   origin  year month   day  hour  temp  dewp humid wind_dir wind_speed wind_gust
##   <chr>  <int> <int> <int> <int> <dbl> <dbl> <dbl>    <dbl>      <dbl>     <dbl>
## 1 LGA     2013    12    30    13  37.0  21.9  54.0      340       17.3      20.7
## 2 LGA     2013    12    30    14  36.0  19.9  51.8      340       13.8      21.9
## 3 LGA     2013    12    30    15  34.0  17.1  49.5      330       17.3      21.9
## 4 LGA     2013    12    30    16  32    15.1  49.2      340       15.0      23.0
## 5 LGA     2013    12    30    17  30.9  12.9  46.7      320       17.3      NA  
## 6 LGA     2013    12    30    18  28.9  10.9  46.4      330       18.4      NA  
## # … with 4 more variables: precip <dbl>, pressure <dbl>, visib <dbl>,
## #   time_hour <dttm>
summary(weather)
##     origin               year          month             day       
##  Length:26115       Min.   :2013   Min.   : 1.000   Min.   : 1.00  
##  Class :character   1st Qu.:2013   1st Qu.: 4.000   1st Qu.: 8.00  
##  Mode  :character   Median :2013   Median : 7.000   Median :16.00  
##                     Mean   :2013   Mean   : 6.504   Mean   :15.68  
##                     3rd Qu.:2013   3rd Qu.: 9.000   3rd Qu.:23.00  
##                     Max.   :2013   Max.   :12.000   Max.   :31.00  
##                                                                    
##       hour            temp             dewp           humid       
##  Min.   : 0.00   Min.   : 10.94   Min.   :-9.94   Min.   : 12.74  
##  1st Qu.: 6.00   1st Qu.: 39.92   1st Qu.:26.06   1st Qu.: 47.05  
##  Median :11.00   Median : 55.40   Median :42.08   Median : 61.79  
##  Mean   :11.49   Mean   : 55.26   Mean   :41.44   Mean   : 62.53  
##  3rd Qu.:17.00   3rd Qu.: 69.98   3rd Qu.:57.92   3rd Qu.: 78.79  
##  Max.   :23.00   Max.   :100.04   Max.   :78.08   Max.   :100.00  
##                  NA's   :1        NA's   :1       NA's   :1       
##     wind_dir       wind_speed         wind_gust         precip        
##  Min.   :  0.0   Min.   :   0.000   Min.   :16.11   Min.   :0.000000  
##  1st Qu.:120.0   1st Qu.:   6.905   1st Qu.:20.71   1st Qu.:0.000000  
##  Median :220.0   Median :  10.357   Median :24.17   Median :0.000000  
##  Mean   :199.8   Mean   :  10.518   Mean   :25.49   Mean   :0.004469  
##  3rd Qu.:290.0   3rd Qu.:  13.809   3rd Qu.:28.77   3rd Qu.:0.000000  
##  Max.   :360.0   Max.   :1048.361   Max.   :66.75   Max.   :1.210000  
##  NA's   :460     NA's   :4          NA's   :20778                     
##     pressure          visib          time_hour                    
##  Min.   : 983.8   Min.   : 0.000   Min.   :2013-01-01 01:00:00.0  
##  1st Qu.:1012.9   1st Qu.:10.000   1st Qu.:2013-04-01 21:30:00.0  
##  Median :1017.6   Median :10.000   Median :2013-07-01 14:00:00.0  
##  Mean   :1017.9   Mean   : 9.255   Mean   :2013-07-01 18:26:37.7  
##  3rd Qu.:1023.0   3rd Qu.:10.000   3rd Qu.:2013-09-30 13:00:00.0  
##  Max.   :1042.1   Max.   :10.000   Max.   :2013-12-30 18:00:00.0  
##  NA's   :2729

Explicación de tipos de datos: int, dbl, chr, dttm.

  • Integer (Int) Contiene números enteros, por ejemplo: year.
  • double (dbl) Significa números reales: no hay en estas tablas.
  • Character (chr) Variables con texto, por ejemplo: carrier.
  • data time (dttm) Contiene fecha y tiempo, por ejmeplo: time hour.

Hallazgos

La exploración de datos es el primer paso para al análisis de los mismos, nos permite tener una idea de cuáles son los datos con los cuales estamos trabajando, con ello podemos identificar y comprender el tipo de variables con los que contamos, donde es importante preguntar el significado de cada una de ellas. En esta exploración se identificó que hay varios nulos NA.

###Manipulación de datos

Se te ha solicitado consultar cuáles son las aerolíneas de mayor tráfico aéreo en origen y destino. Cuentas con un data frame llamado flights que contiene toda la información de los vuelos de todos los aeropuertos de New York.

Recordar el contenido de Flights

#View(flights)

Encontrar la media de las distancias recorridas

summary(flights)
##       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.00  
##  1st Qu.: 8.00   1st Qu.:2013-04-04 13:00:00.00  
##  Median :29.00   Median :2013-07-03 10:00:00.00  
##  Mean   :26.23   Mean   :2013-07-03 05:22:54.64  
##  3rd Qu.:44.00   3rd Qu.:2013-10-01 07:00:00.00  
##  Max.   :59.00   Max.   :2013-12-31 23:00:00.00  
## 
#Promedio de distancias recorridas en millas: 1040

Aerolíneas con más distancia recorrida

library(dplyr)
mayor_dist=select(flights, carrier, distance, origin, dest)
head(mayor_dist)
## # A tibble: 6 × 4
##   carrier distance origin dest 
##   <chr>      <dbl> <chr>  <chr>
## 1 UA          1400 EWR    IAH  
## 2 UA          1416 LGA    IAH  
## 3 AA          1089 JFK    MIA  
## 4 B6          1576 JFK    BQN  
## 5 DL           762 LGA    ATL  
## 6 UA           719 EWR    ORD
mayor_media=filter(mayor_dist, distance>1040)
head(mayor_media)
## # A tibble: 6 × 4
##   carrier distance origin dest 
##   <chr>      <dbl> <chr>  <chr>
## 1 UA          1400 EWR    IAH  
## 2 UA          1416 LGA    IAH  
## 3 AA          1089 JFK    MIA  
## 4 B6          1576 JFK    BQN  
## 5 B6          1065 EWR    FLL  
## 6 UA          2475 JFK    LAX
orden=arrange(mayor_media,desc(distance))
head(orden)
## # A tibble: 6 × 4
##   carrier distance origin dest 
##   <chr>      <dbl> <chr>  <chr>
## 1 HA          4983 JFK    HNL  
## 2 HA          4983 JFK    HNL  
## 3 HA          4983 JFK    HNL  
## 4 HA          4983 JFK    HNL  
## 5 HA          4983 JFK    HNL  
## 6 HA          4983 JFK    HNL

Encuentra la suma y la media de las distancias recorridas por carrier, elimina los NA’S e interpreta que significa la suma y la media de las distancias recorridas.

distancias=orden %>% group_by(carrier) %>%
  summarize(suma_distancia=sum(distance,na.rm=TRUE), mean(distance,na.rm=TRUE), .groups = 'drop')

Orden descendiente por distancia recorrida

orden_distancias=arrange(distancias, desc(suma_distancia))
orden_distancias
## # A tibble: 13 × 3
##    carrier suma_distancia `mean(distance, na.rm = TRUE)`
##    <chr>            <dbl>                          <dbl>
##  1 UA            76256278                          1941.
##  2 B6            40261280                          1648.
##  3 DL            38759882                          1791.
##  4 AA            37261176                          1607.
##  5 VX            12902327                          2499.
##  6 WN             5963462                          1556.
##  7 US             4866023                          2143.
##  8 EV             4574275                          1146.
##  9 AS             1715028                          2402 
## 10 HA             1704186                          4983 
## 11 9E             1686158                          1225.
## 12 F9             1109700                          1620 
## 13 MQ              853368                          1147

Identifica si las aerolíneas líderes son las mismas en los tres aeropuertos cuyo origen es Nueva York ( John F. Kennedy (JFK), LaGuardia (LGA) and Newark Liberty (EWR) ).

JFK= orden %>%
  filter(origin=="JFK") %>%
  group_by(carrier) %>%
  summarize(sum_dist=sum(distance,na.rm=TRUE)) %>%
  arrange(desc(sum_dist))
JFK
## # A tibble: 8 × 2
##   carrier sum_dist
##   <chr>      <dbl>
## 1 B6      34655295
## 2 DL      31056240
## 3 AA      21347674
## 4 UA      11496375
## 5 VX       8972450
## 6 US       2366147
## 7 HA       1704186
## 8 9E       1417408
LGA= orden %>%
  filter(origin=="LGA") %>%
  group_by(carrier) %>%
  summarize(sum_dist2=sum(distance,na.rm=TRUE)) %>%
  arrange(desc(sum_dist2))
LGA
## # A tibble: 9 × 2
##   carrier sum_dist2
##   <chr>       <dbl>
## 1 AA       11040924
## 2 DL        7006616
## 3 UA        6812736
## 4 B6        3130643
## 5 WN        1765200
## 6 F9        1109700
## 7 MQ         853368
## 8 EV         384263
## 9 9E         268750
EWR= orden %>%
  filter(origin=="EWR") %>%
  group_by(carrier) %>%
  summarize(sum_dist3=sum(distance,na.rm=TRUE)) %>%
  arrange(desc(sum_dist3))
EWR
## # A tibble: 9 × 2
##   carrier sum_dist3
##   <chr>       <dbl>
## 1 UA       57947167
## 2 AA        4872578
## 3 WN        4198262
## 4 EV        4190012
## 5 VX        3929877
## 6 US        2499876
## 7 B6        2475342
## 8 AS        1715028
## 9 DL         697026

Conclusiones

Después de realizar los análisis descriptivos y la manipulación de datos correspondiente, se han identificado algunas oportunidades de mejora en la posición competitiva de la aerolínea American Airlines. A continuación, presento algunas conclusiones:

Las aerolíneas Delta Airlines y United Airlines son las principales competidoras de American Airlines en términos de número de vuelos y pasajeros transportados. Por lo tanto, se deben analizar con mayor detalle las estrategias que estas empresas están implementando para mantener su posición de liderazgo en el mercado. La aerolínea American Airlines tiene un alto nivel de puntualidad en los vuelos, lo que podría ser una ventaja competitiva en comparación con sus competidores. Por lo tanto, se podría considerar hacer énfasis en este aspecto en la estrategia de marketing y publicidad de la empresa. Existe una gran variabilidad en las distancias recorridas por las diferentes aerolíneas. Se recomienda realizar un análisis más detallado de esta variable para entender mejor su comportamiento y detectar posibles patrones que puedan ser explotados en la estrategia de la aerolínea. Las aerolíneas líderes en los aeropuertos JFK, LGA y EWR son distintas entre sí. Esto sugiere que la estrategia de la aerolínea debe ser adaptada a las particularidades de cada aeropuerto y no seguir una estrategia uniforme para todos ellos. En general, los análisis realizados permiten identificar algunas oportunidades de mejora en la posición competitiva de la aerolínea American Airlines. Es importante destacar que estos resultados son solo el primer paso para la toma de decisiones estratégicas informadas y que se requiere de un análisis más profundo y una interpretación adecuada para obtener conclusiones más precisas y concretas.

Bibliografía

Wickham, H. and Grolemund, G. (2017) R for Data Science: Import, Tidy, Transform, Visualize, and Model Data O’Reilly Media: Sebastopol, California. Nycflights13 v1.0.0 https://www.rdocumentation.org/packages/nycflights13/versions/1.0.0