¿Cómo mejorar la posición competitiva de una de las aerolíneas líderes en los aeropuertos de Nueva York?
Te acabas de incorporar a una empresa consultora en Inteligencia de Negocios, actualmente están brindando servicios de análisis para la industria de la aviación y les interesa tener a la aerolínea American Airlines como cliente ya que es una de las aerolíneas líderes en los aeropuertos de Nueva York, motivo por el cuál te han contratado.
Te han pedido que identifiques cómo puede dicha aerolínea mejorar su posición competitiva !!
Para identificar oportunidades de mejorar la posición competitiva de la aerolínea American Airlines, necesitas realizar algunos análisis, para determinar si hay variaciones en la posición de liderazgo de dicha aerolínea.
Se te ha solicitado hacer un estudio sobre la situación actual de la aerolínea American Airlines ya que se necesita revisar sus destinos, horarios y aviones con los que cuenta para hacer propuestas de aumento o reducción de vuelos por destino y horarios, así como la cantidad de aviones.
Para lograrlo considera las funciones sugeridas en los siguientes pasos: Consulta y explora el data frame planes y weather para que conozcas su contenido
library(nycflights13)
#View(planes)
#View(weather)
Se necesita saber de cada vuelo, la aerolínea, el aeropuerto, el aeropuerto de origen y el aeropuerto destino.
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
##
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
vuelos <- select(flights, flight, carrier, origin, dest)
head(vuelos)
## # A tibble: 6 × 4
## flight carrier origin dest
## <int> <chr> <chr> <chr>
## 1 1545 UA EWR IAH
## 2 1714 UA LGA IAH
## 3 1141 AA JFK MIA
## 4 725 B6 JFK BQN
## 5 461 DL LGA ATL
## 6 1696 UA EWR ORD
En la consulta anterior se necesita conocer el nombre de la aerolínea
#left_join()
Se necesita saber la cantidad de vuelos por cada destino para identificar cuáles son los destinos más buscados.
count(vuelos, dest, sort = TRUE)
## # A tibble: 105 × 2
## dest n
## <chr> <int>
## 1 ORD 17283
## 2 ATL 17215
## 3 LAX 16174
## 4 BOS 15508
## 5 MCO 14082
## 6 CLT 14064
## 7 SFO 13331
## 8 FLL 12055
## 9 MIA 11728
## 10 DCA 9705
## # … with 95 more rows
Agregar el nombre de la aerolínea al data frame anterior.
#left_join()
Se necesita conocer las aerolíneas (clave y nombre) y destinos que vuelan por la Mañana: de 6 a 12, Tarde: de 12 a 19 , Noche: de 19 a 24 y Madrugada de 24 a 6.
horarios <- select(flights, flight, dest, carrier, hour)
head(horarios)
## # A tibble: 6 × 4
## flight dest carrier hour
## <int> <chr> <chr> <dbl>
## 1 1545 IAH UA 5
## 2 1714 IAH UA 5
## 3 1141 MIA AA 5
## 4 725 BQN B6 5
## 5 461 ATL DL 6
## 6 1696 ORD UA 5
#horarios$categoría <- if (flights$hour>=6 && flights$hour<12) {
# "Mañana"
#}
#head(horarios)
Agrega un nuevo campo a la tabla con el nombre de clas_horario y agrega, mañana, tarde, noche y madrugada según sea el caso.
Se necesita saber la cantidad de vuelos por aerolínea y destino que hay por la Mañana, Tarde, Noche y Madrugada.
Se necesita saber a qué destinos vuela la aerolínea American Airlines Inc.-AA durante la madrugada.
¿Qué aviones utiliza la aerolínea AA? aerolínea, tipo, motor y número de asientos y ¿Cuántos vuelos se han realizado con cada uno? elimina los NA’s
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
aviones <- select(planes, type, engines, seats)
tail(aviones)
## # A tibble: 6 × 3
## type engines seats
## <chr> <int> <int>
## 1 Fixed wing multi engine 2 142
## 2 Fixed wing multi engine 2 100
## 3 Fixed wing multi engine 2 142
## 4 Fixed wing multi engine 2 100
## 5 Fixed wing multi engine 2 142
## 6 Fixed wing multi engine 2 142
Imagina que entregarás estos hallazgos a tu superior, elabora un reporte ejecutivo utilizando los resultados obtenidos.
###Visualización de Datos
En los avances anteriores se han realizado diferentes análisis y ahora nos solicitan hacer visualizaciones de la aerolínea American Airlines para los ejecutivos con las siguientes características.
Dentro de las aerolíneas el retraso tanto en la hora de partida como en la hora de llegada a su destino van generando indicadores negativos.
Se solicita analizar para la aerolínea American Airlines si los vuelos que tienen retraso en la partida también tienen retraso en la hora de llegada.
Realiza una visualización con una gráfica Scatterplot.
Visualiza la tendencia de la temperatura durante los primeros 15 días del mes de Enero en los vuelos que parten del aeropuerto “Newark, EWR”, utilizar una gráfica de línea.
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>
g1 <- filter(weather, origin =="EWR")
head(g1)
## # 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>
g2 <- filter(g1, day <= 15)
summary(g2)
## origin year month day
## Length:4309 Min. :2013 Min. : 1.000 Min. : 1.000
## Class :character 1st Qu.:2013 1st Qu.: 4.000 1st Qu.: 4.000
## Mode :character Median :2013 Median : 6.000 Median : 8.000
## Mean :2013 Mean : 6.497 Mean : 8.013
## 3rd Qu.:2013 3rd Qu.: 9.000 3rd Qu.:12.000
## Max. :2013 Max. :12.000 Max. :15.000
##
## hour temp dewp humid
## Min. : 0.0 Min. :15.98 Min. : 1.94 Min. : 13.95
## 1st Qu.: 5.0 1st Qu.:39.92 1st Qu.:26.96 1st Qu.: 48.93
## Median :11.0 Median :55.94 Median :42.98 Median : 64.35
## Mean :11.5 Mean :55.73 Mean :42.60 Mean : 64.48
## 3rd Qu.:17.0 3rd Qu.:71.06 3rd Qu.:59.00 3rd Qu.: 81.07
## Max. :23.0 Max. :96.98 Max. :75.20 Max. :100.00
##
## wind_dir wind_speed wind_gust precip
## Min. : 0.0 Min. : 0.000 Min. :16.11 Min. :0.000000
## 1st Qu.:100.0 1st Qu.: 5.754 1st Qu.:19.56 1st Qu.:0.000000
## Median :220.0 Median : 9.206 Median :23.02 Median :0.000000
## Mean :193.2 Mean : 9.576 Mean :23.66 Mean :0.006182
## 3rd Qu.:280.0 3rd Qu.: 12.659 3rd Qu.:26.47 3rd Qu.:0.000000
## Max. :360.0 Max. :1048.361 Max. :47.18 Max. :1.060000
## NA's :116 NA's :3423
## pressure visib time_hour
## Min. : 997.9 Min. : 0.120 Min. :2013-01-01 01:00:00.0
## 1st Qu.:1013.0 1st Qu.:10.000 1st Qu.:2013-04-01 00:00:00.0
## Median :1017.3 Median :10.000 Median :2013-06-15 21:00:00.0
## Mean :1017.8 Mean : 9.157 Mean :2013-06-23 22:13:44.5
## 3rd Qu.:1022.7 3rd Qu.:10.000 3rd Qu.:2013-09-15 21:00:00.0
## Max. :1038.1 Max. :10.000 Max. :2013-12-15 23:00:00.0
## NA's :520
g3 <- filter(g2, month ==1)
summary(g3)
## origin year month day hour
## Length:358 Min. :2013 Min. :1 Min. : 1.000 Min. : 0.00
## Class :character 1st Qu.:2013 1st Qu.:1 1st Qu.: 4.000 1st Qu.: 6.00
## Mode :character Median :2013 Median :1 Median : 8.000 Median :11.50
## Mean :2013 Mean :1 Mean : 8.039 Mean :11.53
## 3rd Qu.:2013 3rd Qu.:1 3rd Qu.:12.000 3rd Qu.:17.75
## Max. :2013 Max. :1 Max. :15.000 Max. :23.00
##
## temp dewp humid wind_dir
## Min. :24.08 Min. : 8.96 Min. : 32.86 Min. : 0.0
## 1st Qu.:33.98 1st Qu.:19.94 1st Qu.: 51.34 1st Qu.:140.0
## Median :39.02 Median :26.06 Median : 61.67 Median :240.0
## Mean :39.58 Mean :28.06 Mean : 65.48 Mean :208.2
## 3rd Qu.:44.96 3rd Qu.:35.06 3rd Qu.: 78.68 3rd Qu.:290.0
## Max. :57.92 Max. :53.06 Max. :100.00 Max. :360.0
## NA's :5
## wind_speed wind_gust precip pressure
## Min. : 0.000 Min. :16.11 Min. :0.000000 Min. :1011
## 1st Qu.: 5.754 1st Qu.:19.56 1st Qu.:0.000000 1st Qu.:1018
## Median : 8.055 Median :21.86 Median :0.000000 Median :1022
## Mean : 8.226 Mean :22.53 Mean :0.002039 Mean :1023
## 3rd Qu.:11.508 3rd Qu.:25.32 3rd Qu.:0.000000 3rd Qu.:1027
## Max. :24.166 Max. :31.07 Max. :0.190000 Max. :1034
## NA's :308 NA's :38
## visib time_hour
## Min. : 0.120 Min. :2013-01-01 01:00:00.00
## 1st Qu.: 9.000 1st Qu.:2013-01-04 19:15:00.00
## Median :10.000 Median :2013-01-08 12:30:00.00
## Mean : 8.515 Mean :2013-01-08 12:28:09.39
## 3rd Qu.:10.000 3rd Qu.:2013-01-12 05:45:00.00
## Max. :10.000 Max. :2013-01-15 23:00:00.00
##
# g4 <- g3%>% summarize_if(is.numeric, mean(.,na.rm=TRUE))
plot(g3$day, g3$temp, type="p")
#g4<- g3 %>% summarize_if(is.numeric, ~mean(.,na.rm = TRUE))
• Utiliza Facets para observar cómo varía la temperatura en cada mes en él histograma del punto anterior . • Número de vuelos que salieron de Nueva York en 2013 por aerolínea (mostrar solamente las 10 aerolíneas con más vuelos), utilizar gráfica de barras. • Visualiza el punto anterior en una gráfica de pie. • Relaciona el data frame fligths con el data frame airports a través del campo destino ¿cómo lograr estas relación? • Crea un nuevo data frame con el punto anterior únicamente con los 5 carriers con más vuelos por destino. • Realiza una visualización del punto anterior de las siguientes tres formas.
Imagina que entregarás estos hallazgos a tu superior, elabora un reporte ejecutivo utilizando los resultados obtenidos.
###Compromiso Ético y Ciudadano • Describe el valor de la integridad. • Agrega una reflexión personal de cómo puedes actuar con respeto y honestidad en los negocios y en el uso de datos cuando realices análisis de datos y estés en contacto con los datos de una empresa. • Agrega al menos 3 bibliografías y cítalas en el punto anterior. http://codigoeticaeintegridad.com/
##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