American Airlines está trabajando activamente en mejorar su posición competitiva en el mercado. Para lograr este objetivo, es fundamental llevar a cabo una evaluación exhaustiva de sus competidores. Esta evaluación ayudará a asegurar posiciones destacadas de liderazgo dentro del mercado. Nuestra empresa de Inteligencia de Negocios está preparada para realizar un análisis detallado de factores cruciales para la industria de las aerolíneas. Estos abarcan una comprensión detallada de distancias de vuelo, patrones de tráfico aéreo, rutas, duración de vuelos, así como orígenes y destinos de vuelos para cada aerolínea en particular.
El análisis se llevará a cabo utilizando comandos provenientes de la biblioteca nycflights13, integrada en nuestro software de análisis. Dentro de esta biblioteca, se empleará el completo paquete tidyverse, que incluye tibble, tidyr y dplyr. Especialmente, dplyr desempeñará un papel fundamental, permitiendo la transformación eficiente de objetos de datos y la obtención de resúmenes concisos de la información. Este proceso de simplificación resulta crucial para facilitar el análisis de la información de manera efectiva.
1. Consulta de data frames Para iniciar nuestro análisis y obtener una visión panorámica de la situación, procederemos a explorar en detalle cada uno de los cinco conjuntos de datos que conforman nuestra base de datos. Esto se llevará a cabo mediante la ejecución de una serie de comandos descriptivos, diseñados para proporcionar información valiosa sobre la estructura y contenido de los datos.
Dentro de los comandos que utilizaremos se encuentran:
data() - Este comando se emplea para cargar la base de datos y ponerla a disposición para su manipulación.
str() - Al utilizar este comando, obtendremos una descripción detallada del data frame, lo que incluirá la cantidad de columnas y filas presentes, así como los tipos de variables que contiene.
ncol() - Al aplicar este comando, podremos determinar con precisión cuántas columnas conforman cada data frame.
nrow() - Al ejecutar este comando, obtendremos el número total de filas en cada conjunto de datos.
dim() - Mediante este comando, accederemos a las dimensiones completas de los data frames, proporcionando una perspectiva más completa al mostrar tanto la cantidad de filas como de columnas.
View() - Utilizaremos este comando para abrir una ventana gráfica adicional que permitirá una visualización más cómoda y detallada de toda la tabla.
head() - Al aplicar este comando, se nos mostrarán los primeros 6 registros de cada data frame, lo que brindará un vistazo inicial a los datos.
tail() - Este comando nos presentará los últimos 6 registros de cada data frame, complementando la vista previa inicial.
summary() - Al ejecutar este comando, obtendremos un resumen estadístico de cada columna presente en los data frames, proporcionando una comprensión más profunda de los valores y tendencias dentro de los datos.
Esta combinación de comandos descriptivos nos permitirá no solo entender la estructura de la base de datos, sino también obtener una idea más clara de los contenidos y las posibles pautas que podrían emerger a medida que profundicemos en el análisis.
Base de datos: Flights
##
## 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
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.2 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ✔ readr 2.1.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## 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" ...
En la base de datos tenemos variables tipo: - Númerico - Entero - Carácter
## [1] "Tenemos 19 columnas en el data frame"
## [1] "Tenemos 336776 columnas en el data frame"
## [1] "Tenemos 336776 columnas en el data frame"
## [2] "Tenemos 19 columnas en el data frame"
## # A tibble: 336,776 × 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
## # ℹ 336,766 more rows
## # ℹ 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>
## 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: 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")=
## .. cols(
## .. id = col_double(),
## .. name = col_character(),
## .. city = col_character(),
## .. country = col_character(),
## .. faa = col_character(),
## .. icao = col_character(),
## .. lat = col_double(),
## .. lon = col_double(),
## .. alt = col_double(),
## .. tz = col_double(),
## .. dst = col_character(),
## .. tzone = col_character()
## .. )
En la base de datos tenemos variables tipo: - Númerico - Carácter
## [1] "Tenemos 8 columnas en el data frame"
## [1] "Tenemos 1458 columnas en el data frame"
## [1] "Tenemos 1458 columnas en el data frame"
## [2] "Tenemos 8 columnas en el data frame"
## # A tibble: 1,458 × 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/…
## 2 06A Moton Field Municipal Airport 32.5 -85.7 264 -6 A America/…
## 3 06C Schaumburg Regional 42.0 -88.1 801 -6 A America/…
## 4 06N Randall Airport 41.4 -74.4 523 -5 A America/…
## 5 09J Jekyll Island Airport 31.1 -81.4 11 -5 A America/…
## 6 0A9 Elizabethton Municipal Airport 36.4 -82.2 1593 -5 A America/…
## 7 0G6 Williams County Airport 41.5 -84.5 730 -5 A America/…
## 8 0G7 Finger Lakes Regional Airport 42.9 -76.8 492 -5 A America/…
## 9 0P2 Shoestring Aviation Airfield 39.8 -76.6 1000 -5 U America/…
## 10 0S9 Jefferson County Intl 48.1 -123. 108 -8 A America/…
## # ℹ 1,448 more rows
## 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: 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" ...
En la base de datos tenemos variables tipo: - Númerico - Entero - Carácter
## [1] "Tenemos 15 columnas en el data frame"
## [1] "Tenemos 26115 columnas en el data frame"
## [1] "Tenemos 26115 columnas en el data frame"
## [2] "Tenemos 15 columnas en el data frame"
## # A tibble: 26,115 × 15
## origin year month day hour temp dewp humid wind_dir wind_speed
## <chr> <int> <int> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 EWR 2013 1 1 1 39.0 26.1 59.4 270 10.4
## 2 EWR 2013 1 1 2 39.0 27.0 61.6 250 8.06
## 3 EWR 2013 1 1 3 39.0 28.0 64.4 240 11.5
## 4 EWR 2013 1 1 4 39.9 28.0 62.2 250 12.7
## 5 EWR 2013 1 1 5 39.0 28.0 64.4 260 12.7
## 6 EWR 2013 1 1 6 37.9 28.0 67.2 240 11.5
## 7 EWR 2013 1 1 7 39.0 28.0 64.4 240 15.0
## 8 EWR 2013 1 1 8 39.9 28.0 62.2 250 10.4
## 9 EWR 2013 1 1 9 39.9 28.0 62.2 260 15.0
## 10 EWR 2013 1 1 10 41 28.0 59.6 260 13.8
## # ℹ 26,105 more rows
## # ℹ 5 more variables: wind_gust <dbl>, precip <dbl>, pressure <dbl>,
## # visib <dbl>, time_hour <dttm>
## 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
Base de datos: 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" ...
En la base de datos tenemos variables tipo: - Entero - Carácter
## [1] "Tenemos 9 columnas en el data frame"
## [1] "Tenemos 3322 columnas en el data frame"
## [1] "Tenemos 3322 columnas en el data frame"
## [2] "Tenemos 9 columnas en el data frame"
## # A tibble: 3,322 × 9
## tailnum year type manufacturer model engines seats speed engine
## <chr> <int> <chr> <chr> <chr> <int> <int> <int> <chr>
## 1 N10156 2004 Fixed wing multi… EMBRAER EMB-… 2 55 NA Turbo…
## 2 N102UW 1998 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 3 N103US 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 4 N104UW 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 5 N10575 2002 Fixed wing multi… EMBRAER EMB-… 2 55 NA Turbo…
## 6 N105UW 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 7 N107US 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 8 N108UW 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 9 N109UW 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## 10 N110UW 1999 Fixed wing multi… AIRBUS INDU… A320… 2 182 NA Turbo…
## # ℹ 3,312 more rows
## 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
##
##
##
##
Data frame “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" ...
En la base de datos tenemos variables tipo: - Carácter
## [1] "Tenemos 2 columnas en el data frame"
## [1] "Tenemos 16 columnas en el data frame"
## [1] "Tenemos 16 columnas en el data frame"
## [2] "Tenemos 2 columnas en el data frame"
## # A tibble: 16 × 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.
## 7 F9 Frontier Airlines Inc.
## 8 FL AirTran Airways Corporation
## 9 HA Hawaiian Airlines Inc.
## 10 MQ Envoy Air
## 11 OO SkyWest Airlines Inc.
## 12 UA United Air Lines Inc.
## 13 US US Airways Inc.
## 14 VX Virgin America
## 15 WN Southwest Airlines Co.
## 16 YV Mesa Airlines Inc.
## carrier name
## Length:16 Length:16
## Class :character Class :character
## Mode :character Mode :character
2. Consulta el data frame flights para recordar su contenido.
## # A tibble: 336,776 × 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
## # ℹ 336,766 more rows
## # ℹ 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>
3. Consulta de los descriptivos de las distancias.
## distance
## Min. : 17
## 1st Qu.: 502
## Median : 872
## Mean :1040
## 3rd Qu.:1389
## Max. :4983
El código proporcionado realiza las siguientes acciones:
4. Consulta para encontrar la suma y la media de las distancias recorridas por aerolínea
distancias <- flights %>% group_by(carrier) %>%
summarize(suma = sum(distance, na.rm = TRUE), media = mean(distance, na.rm = TRUE))
print(distancias)## # A tibble: 16 × 3
## carrier suma media
## <chr> <dbl> <dbl>
## 1 9E 9788152 530.
## 2 AA 43864584 1340.
## 3 AS 1715028 2402
## 4 B6 58384137 1069.
## 5 DL 59507317 1237.
## 6 EV 30498951 563.
## 7 F9 1109700 1620
## 8 FL 2167344 665.
## 9 HA 1704186 4983
## 10 MQ 15033955 570.
## 11 OO 16026 501.
## 12 UA 89705524 1529.
## 13 US 11365778 553.
## 14 VX 12902327 2499.
## 15 WN 12229203 996.
## 16 YV 225395 375.
El código proporcionado realiza las siguientes acciones:
5. Consulta para calcular la media de distancias para filtrar
## [1] 21888600
El código realiza lo siguiente:
6. Consulta para filtrar las aerolíneas con suma de distancia superior a la media.
## # A tibble: 5 × 3
## carrier suma media
## <chr> <dbl> <dbl>
## 1 AA 43864584 1340.
## 2 B6 58384137 1069.
## 3 DL 59507317 1237.
## 4 EV 30498951 563.
## 5 UA 89705524 1529.
El código realiza lo siguiente: - Toma el data frame distancias, que contiene las estadísticas de suma y media de distancias de vuelo por aerolínea. - Utiliza el operador %>% (pipe) para encadenar operaciones. Con la función filter(), selecciona las filas del data frame donde el valor de la columna “suma” sea mayor que el valor almacenado en la variable mediatotal. - Almacena los resultados filtrados en un nuevo data frame llamado filtroaero. - Finalmente, imprime el nuevo data frame filtroaero, que contiene las filas de distancias que cumplen con el criterio de que la suma de distancias es mayor que la media total calculada previamente.
7. Consulta para filtrar el data frame flights por las aerolíneas filtradas y selección de las columnas carrier, distance, origin, dest para un nuevo dataframe.
finalaero <- flights %>%
filter(carrier %in% filtroaero$carrier) %>%
select(carrier, distance, origin, dest) %>%
arrange(desc(distance))
print(finalaero)## # A tibble: 248,312 × 4
## carrier distance origin dest
## <chr> <dbl> <chr> <chr>
## 1 UA 4963 EWR HNL
## 2 UA 4963 EWR HNL
## 3 UA 4963 EWR HNL
## 4 UA 4963 EWR HNL
## 5 UA 4963 EWR HNL
## 6 UA 4963 EWR HNL
## 7 UA 4963 EWR HNL
## 8 UA 4963 EWR HNL
## 9 UA 4963 EWR HNL
## 10 UA 4963 EWR HNL
## # ℹ 248,302 more rows
El código realiza lo siguiente:
8. Consulta para identificar 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) . Genera un data frame para cada aeropuerto.
Para determinar estas principales empresas, seguiremos un proceso uniforme para cada aeropuerto:
JFK <- flights %>%
filter(origin == "JFK") %>%
group_by(carrier) %>%
count() %>%
arrange(desc(n)) %>%
rename(n.flights = n) %>%
head()
print(JFK) ## # A tibble: 6 × 2
## # Groups: carrier [6]
## carrier n.flights
## <chr> <int>
## 1 B6 42076
## 2 DL 20701
## 3 9E 14651
## 4 AA 13783
## 5 MQ 7193
## 6 UA 4534
En el ranking, la aerolínea JetBlue Airways (código B6) ocupa el primer lugar, habiendo completado 42,076 vuelos desde el Aeropuerto LaGuardia. Por otro lado, American Airlines se posiciona en el cuarto puesto, habiendo llevado a cabo 13,783 vuelos desde el Aeropuerto John F. Kennedy.
LGA <- flights %>%
filter(origin == "LGA") %>%
group_by(carrier) %>%
count() %>%
arrange(desc(n)) %>%
rename(n.flights = n) %>%
head()
print(LGA) ## # A tibble: 6 × 2
## # Groups: carrier [6]
## carrier n.flights
## <chr> <int>
## 1 DL 23067
## 2 MQ 16928
## 3 AA 15459
## 4 US 13136
## 5 EV 8826
## 6 UA 8044
Delta Air Lines Inc. lidera el ranking con 23,067 vuelos desde el Aeropuerto LaGuardia, ocupando la primera posición. En cambio, American Airlines está en la tercera posición, habiendo realizado 15,459 vuelos también desde el Aeropuerto LaGuardia.
EWR <- flights %>%
filter(origin == "EWR") %>%
group_by(carrier) %>%
count() %>%
arrange(desc(n)) %>%
rename(n.flights = n) %>%
head()
print(EWR) ## # A tibble: 6 × 2
## # Groups: carrier [6]
## carrier n.flights
## <chr> <int>
## 1 UA 46087
## 2 EV 43939
## 3 B6 6557
## 4 WN 6188
## 5 US 4405
## 6 DL 4342
United Air Lines Inc. encabeza la lista con 46,087 vuelos desde el Aeropuerto LaGuardia, ocupando el primer puesto. Sin embargo, es importante señalar que American Airlines no figura entre las seis principales posiciones en el Aeropuerto Newark Liberty.
Los descubrimientos más significativos en nuestro informe indican que American Airlines registra una suma total de distancia de 43,864,584 millas y un promedio de 1,340.236 millas, ubicándola entre las empresas que superan la media total de 21,888,600 millas recorridas.
Dentro del mercado, American Airlines lidera en dos de los tres aeropuertos de la ciudad de Nueva York. En el Aeropuerto LaGuardia, ocupa la tercera posición con 15,459 vuelos, mientras que en el Aeropuerto John F. Kennedy, se ubica en el cuarto lugar con 13,783 vuelos. Sin embargo, en el caso del Aeropuerto Newark Liberty, la compañía no se encuentra entre las seis primeras posiciones. Sus competidores más fuertes en esta área son JetBlue Airways, United Air Lines Inc. y Delta Air Lines Inc.
Estos resultados resaltan una oportunidad de mejora, ya que además de enfocarse en avanzar en las posiciones de los dos primeros aeropuertos, la compañía enfrenta el reto de alcanzar un puesto destacado en el último aeropuerto.
Este proceso de manipulación y análisis de datos nos proporciona una perspectiva valiosa. Nos ayuda a comprender nuestra trayectoria y nos guía hacia nuestras metas como empresa, al brindarnos una comprensión profunda de los datos que generamos en nuestras operaciones diarias
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