El paquete nycflights13 contine información sobre todos los vuelos que partieron desde Nueva York (EWR, JFK Y LGA) a destinos en los Estados Unidos en 2013. Fueron 336776 vuelos en total. Para ayudar a comprender las causas de los retrasos, también incluye otros conjuntos de datos útiles.
Este paquete incluye las siguientes tablas:
Fuente:
Origen
de los Datos
Tema: base de datos, sus campos, registros,tipos de datos y los resultados descriptivos de la base de datos.
Situación problema: ¿Cómo mejorar la posición competitiva de una de las aerolíneas líderes en los aeropuertos de Nueva York?
Instrucciones:
• Paquetes requeridos para la práctica: tidyverse, nyflights13 El paquete tidyverse incluye varias librerías entre ellas ggplot2, dplyr, tidyverse El paquete nyflights13 incluye varias bases de datos entre ellas flights • Librerías que deben estar instaladas: dplyr
###1. Cargar en memoria la tabla flights y mostrar 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>
###2. Cargar en memoria la tabla flights y mostrar su contenido. Consulta la estructura de flights, ¿Cuáles son los campos y sus tipos de datos? Identifica los diferentes tipos de datos y explica en qué consiste cada uno de ellos y cuál es la diferencia entre uno y otro, incluyendo los siguientes tipos de datos: int, dbl, chr, dttm
## 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" ...
###3. ¿Cuál es la clase de flights? y ¿Qué significa?
## [1] "tbl_df" "tbl" "data.frame"
###4. ¿Cuántas columnas tiene flights?
## [1] 19
###5. ¿Cuántos renglones tiene flights?
## [1] 336776
###6. ¿Cuál es la dimensión de flights?
## [1] 336776 19
###7. Consulta la tabla flights
###8. Genera un output de la tabla flights. Utiliza las funciones head y tail, ¿Cuántos renglones muestran por defecto cada función?
## # A tibble: 6 × 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
## # ℹ 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>
## # A tibble: 6 × 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 NA 1842 NA NA 2019
## 2 2013 9 30 NA 1455 NA NA 1634
## 3 2013 9 30 NA 2200 NA NA 2312
## 4 2013 9 30 NA 1210 NA NA 1330
## 5 2013 9 30 NA 1159 NA NA 1344
## 6 2013 9 30 NA 840 NA NA 1020
## # ℹ 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>
###9. Ahora muestra los primeros 50 registros y los últimos 20, ¿Cómo lo harías?
## # A tibble: 50 × 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
## # ℹ 40 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>
## # A tibble: 20 × 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
## # ℹ 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>
###10. Encuentra los resultados descriptivos de las variables en la base de datos. Ejemplo: promedio, moda, mínimo, máximo, etc.Función: summary.
## 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
##
Funciones básicas para la manipulación de datos. Temas: Dplyr (filter, arrange, select, rename, mutate, summarize, group_by) if/else, subset, for (loops) Situación problema: ¿Cómo mejorar la posición competitiva de una de las aerolíneas líderes en los aeropuertos de Nueva York? Instrucciones: Librerías requeridas: • Paquetes requeridos para la práctica: tidyverse, nyflights13 El paquete tidyverse incluye varias librerías entre ellas ggplot2, dplyr, tidyverse El paquete nyflights13 incluye varias bases de datos entre ellas flights • Librerías que deben estar instaladas: ggplot2, dplyr, tidyverse
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.4
## ✔ ggplot2 3.5.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── 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
###1. Mostrar la base de datos flights para que conozcas su contenido
###2. Encuentra los datos descriptivos del data frame flights. Identifica la media de las distancias recorridas en millas.
## 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
##
###3. Define un criterio para encontrar las aerolíneas que han recorrido más distancia (en millas) y crea un nuevo data frame que filtre solamente a las aeorlíneas que han recorridao una distancia superior a la media, se desea ver los campos carrier, distance, origin, dest en forma descendente por distance. Ejemplo: aerolíneas con millas recorridas superiores a la media, ordenadas en forma descendente.
#selecciona las variables carrier, distance, origin, dest de la tabla
res01 <- select(flights, carrier, distance, origin, dest)
#se filtra las aerolíneas con millas recorridas superiores a la media - 1040
res02 <- filter(res01, distance >1040)
#ordena en forma descendente por distancia recorrida
res03 <- arrange(res02, desc(distance))###4. 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.
#Agrupar los datos por carrier,origin, dest y obtener la suma acumulada y la media de las distancias recorridas por carrier eliminando los NA's
res04 <- res03 %>%
group_by(carrier,origin,dest)
sumdistance <- sum(res03$distance, n= TRUE)###5. Ordena en forma descendente por distancia recorrida
###6.Observa tus resultados de la última tabla y agrega tus interpretaciones
###7.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) ).
Genera un data frame para cada aeropuerto. Funciones: filter(),
arrange()
###1. Consulta las tablas planes y weather para que conozcas su contenido.
###2. Se necesita saber de cada vuelo, la aerolínea, el aeropuerto de origen y el aeropuerto destino.
###3. En la consulta anterior se necesita conocer el nombre de la aerolínea.
###4 Se necesita saber la cantidad de vuelos por cada destino para identificar cuáles son los destinos más buscados.
###5 Agregar el nombre de la aerolínea a la tabla anterior.
###6. 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. # 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.
carrier_horario <- flights %>%
select(carrier, dest, sched_dep_time) %>%
left_join(airlines, by = "carrier")
clasxhora<- mutate(carrier_horario, clas_horario = ifelse(sched_dep_time %in% 600:1159,"Mañana",
ifelse(sched_dep_time %in% 1200:1859,"Tarde",
ifelse(sched_dep_time %in% 1900:2400,"Noche", "Madrugada"))))###7.Se necesita saber la cantidad de vuelos por aerolínea y destino que hay por la Mañana, Tarde, Noche y Madrugada.
###8 Se necesita saber a qué destinos vuela la aerolínea American Airlines Inc.-AA durante la madrugada.
destinos_aa <- clasxhora %>%
select(carrier,name, dest,clas_horario) %>%
filter(carrier == "AA" & clas_horario == "Madrugada") %>%
group_by(carrier,name, dest,clas_horario)###9. ¿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
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.
## # 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>
## # 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
## # 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
## # 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.
## # 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>
## 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" ...
# int: entero (no tiene decimales). Se utiliza para almacenar valores numéricos sin decimales, como la cantidad de pasajeros o el número de vuelos.
# dbl: Se usa para almacenar números con decimales, como distancias o precios.
# num: numérico (tiene decimales) peso
# chr: caracter (letras). Se usa para almacenar texto, como nombres o palabras.
# Date: fecha (en R va año-mes-día)
# POSIXct: formato fecha y hora. Es un tipo de dato que representa una fecha y hora específica. Se utiliza para almacenar información temporal, como la fecha de un vuelo o la hora de salida.## [1] "tbl_df" "tbl" "data.frame"
## function (x) .Primitive("class")
# Las 5 clases de objetos son:
# 1. numeric: número real o decimales
# 2. integer: números enteros
# 3. complex: números complejos
# 4. character: caracteres, letras o palabras
# 5. logical: TRUE o FALSE
# Las 4 clases de objetos compuestos son:
# 1. list: lista
# 2. matrix: matriz (es todo lo mismo)
# 3. array: colección de objetos
# 4. data.frame: base de datos (es mezclado)## [1] 19
## [1] 336776
## [1] 336776 19
## # A tibble: 6 × 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
## # ℹ 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>
## # A tibble: 6 × 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 NA 1842 NA NA 2019
## 2 2013 9 30 NA 1455 NA NA 1634
## 3 2013 9 30 NA 2200 NA NA 2312
## 4 2013 9 30 NA 1210 NA NA 1330
## 5 2013 9 30 NA 1159 NA NA 1344
## 6 2013 9 30 NA 840 NA NA 1020
## # ℹ 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
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17 502 872 1040 1389 4983
Podemos ver que la distancia media en millas es de 1040
media_distancia <- mean(flights$distance, na.rm = TRUE)
aerolineas_top <- flights %>%
filter(distance > media_distancia) %>%
select(carrier, distance, origin, dest) %>%
arrange(desc(distance))
print(aerolineas_top)## # A tibble: 127,665 × 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
## 7 HA 4983 JFK HNL
## 8 HA 4983 JFK HNL
## 9 HA 4983 JFK HNL
## 10 HA 4983 JFK HNL
## # ℹ 127,655 more rows
distancia_aerolinea <- flights %>%
filter(!is.na(distance)) %>%
group_by(carrier) %>%
summarise(
suma_distancia = sum(distance),
media_distancia = mean(distance, na.rm = TRUE)
) %>%
arrange(desc(suma_distancia))
print(distancia_aerolinea)## # A tibble: 16 × 3
## carrier suma_distancia media_distancia
## <chr> <dbl> <dbl>
## 1 UA 89705524 1529.
## 2 DL 59507317 1237.
## 3 B6 58384137 1069.
## 4 AA 43864584 1340.
## 5 EV 30498951 563.
## 6 MQ 15033955 570.
## 7 VX 12902327 2499.
## 8 WN 12229203 996.
## 9 US 11365778 553.
## 10 9E 9788152 530.
## 11 FL 2167344 665.
## 12 AS 1715028 2402
## 13 HA 1704186 4983
## 14 F9 1109700 1620
## 15 YV 225395 375.
## 16 OO 16026 501.
# Función para crear un data frame para un aeropuerto
aeropuerto_df <- function(aeropuerto) {
flights %>%
filter(origin == aeropuerto) %>%
filter(!is.na(distance)) %>%
group_by(carrier) %>%
summarise(
suma_distancia = sum(distance),
media_distancia = mean(distance, na.rm = TRUE)
) %>%
arrange(desc(suma_distancia))
}
# Data frames para cada aeropuerto
jfk_df <- aeropuerto_df("JFK")
lga_df <- aeropuerto_df("LGA")
ewr_df <- aeropuerto_df("EWR")
# Mostrar los data frames
print(jfk_df)## # A tibble: 10 × 3
## carrier suma_distancia media_distancia
## <chr> <dbl> <dbl>
## 1 B6 46858933 1114.
## 2 DL 34970353 1689.
## 3 AA 22891534 1661.
## 4 UA 11496375 2536.
## 5 VX 8972450 2495.
## 6 9E 7426450 507.
## 7 US 3376685 1127.
## 8 MQ 2887772 401.
## 9 HA 1704186 4983
## 10 EV 322193 229.
## # A tibble: 13 × 3
## carrier suma_distancia media_distancia
## <chr> <dbl> <dbl>
## 1 DL 20861920 904.
## 2 AA 16100472 1041.
## 3 MQ 10509739 621.
## 4 UA 9258277 1151.
## 5 B6 6181593 1030.
## 6 WN 5517587 906.
## 7 EV 4316573 489.
## 8 US 3779472 288.
## 9 FL 2167344 665.
## 10 9E 1580071 622.
## 11 F9 1109700 1620
## 12 YV 225395 375.
## 13 OO 11018 424.
## # A tibble: 12 × 3
## carrier suma_distancia media_distancia
## <chr> <dbl> <dbl>
## 1 UA 68950872 1496.
## 2 EV 25860185 589.
## 3 WN 6711616 1085.
## 4 B6 5343611 815.
## 5 AA 4872578 1397.
## 6 US 4209621 956.
## 7 VX 3929877 2510.
## 8 DL 3675044 846.
## 9 AS 1715028 2402
## 10 MQ 1636444 719
## 11 9E 781631 616.
## 12 OO 5008 835.
American Airlines tiene una alta suma de distancia recorrida, lo que
indica que es una aerolínea con una amplia red de rutas y un gran
volumen de pasajeros. La media de la distancia recorrida por AA es
superior a la media de otras aerolíneas, lo que indica que sus vuelos
son generalmente más largos. Estos datos podrían ser relevantes para los
inversores que buscan una aerolínea con una fuerte presencia en el
mercado y un historial de rentabilidad.
En este trabajo pudimos utilizar las funciones más comunes del análisis explotarotio, el cual es el primer paso para cualquier trabajo de manipulación de datos, hicimos uso de distintas herramientas para analizar medias, distancias mayores y menores y así finalmente analizar los beneficios de tener a American Airlines como nuevo cliente, descubriendo su gran potencial en múltiples aeropuertos como aerolinea líder.
Evidencia 2 - Analítica descriptiva (Integración de datos a través de
modelo entidad-relación)
Compromiso ético y ciudadano. 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.
## # A tibble: 336,776 × 3
## carrier origin dest
## <chr> <chr> <chr>
## 1 UA EWR IAH
## 2 UA LGA IAH
## 3 AA JFK MIA
## 4 B6 JFK BQN
## 5 DL LGA ATL
## 6 UA EWR ORD
## 7 B6 EWR FLL
## 8 EV LGA IAD
## 9 B6 JFK MCO
## 10 AA LGA ORD
## # ℹ 336,766 more rows
## # A tibble: 336,776 × 4
## carrier origin dest name
## <chr> <chr> <chr> <chr>
## 1 UA EWR IAH United Air Lines Inc.
## 2 UA LGA IAH United Air Lines Inc.
## 3 AA JFK MIA American Airlines Inc.
## 4 B6 JFK BQN JetBlue Airways
## 5 DL LGA ATL Delta Air Lines Inc.
## 6 UA EWR ORD United Air Lines Inc.
## 7 B6 EWR FLL JetBlue Airways
## 8 EV LGA IAD ExpressJet Airlines Inc.
## 9 B6 JFK MCO JetBlue Airways
## 10 AA LGA ORD American Airlines Inc.
## # ℹ 336,766 more rows
cant_vuelos <- flights %>%
select(carrier, dest) %>%
count(dest)
cant_vuelos <- cant_vuelos %>%
arrange(desc(n))
cant_vuelos## # 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
## # ℹ 95 more rows
Los destinos más buscados son ORD (Aeropuerto Internacional O’Hare) con 17,283 vuelos, ATL (Atlanta) con 17,215 vuelos y LAX (Los Angeles) con 16,174 vuelos.
cant_vuelos1 <- flights %>%
select(carrier, dest) %>%
group_by(carrier, dest) %>%
summarise(n = n()) %>%
ungroup() %>%
arrange(desc(n))## `summarise()` has grouped output by 'carrier'. You can override using the
## `.groups` argument.
## # A tibble: 314 × 3
## carrier dest n
## <chr> <chr> <int>
## 1 DL ATL 10571
## 2 US CLT 8632
## 3 AA DFW 7257
## 4 AA MIA 7234
## 5 UA ORD 6984
## 6 UA IAH 6924
## 7 UA SFO 6819
## 8 B6 FLL 6563
## 9 B6 MCO 6472
## 10 AA ORD 6059
## # ℹ 304 more rows
La aerolínea con mayor cantidad de vuelos es DL (DELTA AIRLINES): Delta Air Lines es una aerolínea comercial estadounidense cuya base está situada en Atlanta, Georgia. Es miembro fundador, junto con Aeroméxico, Air France y Korean Air, de SkyTeam, una alianza de aerolíneas globales que ofrece a los clientes un gran número de destinos alrededor del mundo, vuelos y otros servicios
vuelo_porhora <- flights %>%
select(carrier, dest, sched_dep_time) %>%
left_join(airlines, by = "carrier")
clas_hora<- mutate(vuelo_porhora, clas_horario = ifelse(sched_dep_time %in% 600:1159,"Morning",
ifelse(sched_dep_time %in% 1200:1859,"Afertnoon",
ifelse(sched_dep_time %in% 1900:2400,"Night", "Madrugada"))))
clas_hora## # A tibble: 336,776 × 5
## carrier dest sched_dep_time name clas_horario
## <chr> <chr> <int> <chr> <chr>
## 1 UA IAH 515 United Air Lines Inc. Madrugada
## 2 UA IAH 529 United Air Lines Inc. Madrugada
## 3 AA MIA 540 American Airlines Inc. Madrugada
## 4 B6 BQN 545 JetBlue Airways Madrugada
## 5 DL ATL 600 Delta Air Lines Inc. Morning
## 6 UA ORD 558 United Air Lines Inc. Madrugada
## 7 B6 FLL 600 JetBlue Airways Morning
## 8 EV IAD 600 ExpressJet Airlines Inc. Morning
## 9 B6 MCO 600 JetBlue Airways Morning
## 10 AA ORD 600 American Airlines Inc. Morning
## # ℹ 336,766 more rows
# Agrupar por aerolínea, destino y franja horaria y contar la cantidad de vuelos
vuelos_conteo <- clas_hora %>%
group_by(carrier, dest, clas_horario) %>% count()
# Mostrar los resultados
vuelos_conteo## # A tibble: 741 × 4
## # Groups: carrier, dest, clas_horario [741]
## carrier dest clas_horario n
## <chr> <chr> <chr> <int>
## 1 9E ATL Morning 59
## 2 9E AUS Afertnoon 2
## 3 9E AVL Morning 10
## 4 9E BGR Night 1
## 5 9E BNA Afertnoon 467
## 6 9E BNA Morning 6
## 7 9E BNA Night 1
## 8 9E BOS Afertnoon 549
## 9 9E BOS Morning 271
## 10 9E BOS Night 94
## # ℹ 731 more rows
destinos_american <- clas_hora %>%
select(carrier,name, dest,clas_horario) %>%
filter(carrier == "AA" & clas_horario == "Madrugada") %>%
group_by(carrier,name, dest,clas_horario)
destinos_american## # A tibble: 365 × 4
## # Groups: carrier, name, dest, clas_horario [1]
## carrier name dest clas_horario
## <chr> <chr> <chr> <chr>
## 1 AA American Airlines Inc. MIA Madrugada
## 2 AA American Airlines Inc. MIA Madrugada
## 3 AA American Airlines Inc. MIA Madrugada
## 4 AA American Airlines Inc. MIA Madrugada
## 5 AA American Airlines Inc. MIA Madrugada
## 6 AA American Airlines Inc. MIA Madrugada
## 7 AA American Airlines Inc. MIA Madrugada
## 8 AA American Airlines Inc. MIA Madrugada
## 9 AA American Airlines Inc. MIA Madrugada
## 10 AA American Airlines Inc. MIA Madrugada
## # ℹ 355 more rows
American Airlines realiza vuelos de madrugada a únicamente el destino
de Miami. #### 1.9.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)“
avion_american <- flights %>%
left_join(planes, by = "tailnum") %>%
select(carrier, type, engine, seats) %>%
filter(carrier == "AA", !is.na(type)) %>%
group_by(carrier,type,engine,seats) %>%
count()
avion_american## # A tibble: 22 × 5
## # Groups: carrier, type, engine, seats [22]
## carrier type engine seats n
## <chr> <chr> <chr> <int> <int>
## 1 AA Fixed wing multi engine Reciprocating 6 22
## 2 AA Fixed wing multi engine Reciprocating 8 92
## 3 AA Fixed wing multi engine Reciprocating 102 22
## 4 AA Fixed wing multi engine Turbo-fan 8 38
## 5 AA Fixed wing multi engine Turbo-fan 11 19
## 6 AA Fixed wing multi engine Turbo-fan 22 13
## 7 AA Fixed wing multi engine Turbo-fan 172 3857
## 8 AA Fixed wing multi engine Turbo-fan 178 501
## 9 AA Fixed wing multi engine Turbo-fan 255 4257
## 10 AA Fixed wing multi engine Turbo-fan 330 450
## # ℹ 12 more rows
Hallazgos:
-Retrasos:
Aerolíneas con mayor retraso: Varían según el destino (F9, EV, OO)
Destinos con mayor retraso: LGA, EWR, JFK (debido a las condiciones
climáticas adversas o congestión aérea)
-Modelos de aviones:
Más utilizados:
Fixed wing multi engine: Los aviones de ala fija multimotor son una
opción versátil y confiable para una variedad de aplicaciones. Si bien
son más costosos que los aviones monomotores, ofrecen mayor seguridad,
rendimiento y alcance.
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.
# Filtrar los vuelos de American Airlines (AA)
american_flights <- flights %>% filter(carrier == "AA")
# Mostrar la relación entre el retraso en la partida y el retraso en la llegada
cor(american_flights$dep_delay, american_flights$arr_delay, use = "complete.obs")## [1] 0.8917433
# Filtrar los vuelos de American Airlines (AA)
american_flights <- flights %>% filter(carrier == "AA")
# Crear un gráfico de dispersión
ggplot(american_flights, aes(x = dep_delay, y = arr_delay)) +
geom_point(alpha = 0.5, color = "blue") +
labs(main = "Relación entre Retraso en Salida y Llegada para American Airlines", x = "Retraso en la Partida (minutos)", y = "Retraso en la Llegada (minutos)") +
theme_minimal()## Warning: Removed 782 rows containing missing values or values outside the scale range
## (`geom_point()`).
El resultado de la correlación entre el retraso en la partida y el
retraso en la llegada para los vuelos de American Airlines (AA) es
aproximadamente 0.8917. Este valor cercano a 1 indica una fuerte
correlación positiva entre ambas variables. En otras palabras, hay una
tendencia a que los vuelos que experimentan retraso en la salida también
tengan retraso en la llegada.
library(ggplot2)
# Filtrar los datos para los primeros 15 días de enero en el aeropuerto Newark
weather_january <- weather %>%
filter(month == 1 & day <= 15 & origin == "EWR")
# Gráfico de línea para la tendencia de temperatura
ggplot(weather_january, aes(x = day, y = temp)) +
geom_line(color = "black", size = 1) +
labs(main="Tendencia de la Temperatura en los Primeros 15 Días de Enero (Aeropuerto Newark)",
x=weather_january$day,
y=weather_january$temp)## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
#### Visualiza la temperatura más frecuente en los primeros 15 días del
mes de Enero, utilizar un histrograma.
# Filtrar los datos para los primeros 15 días de enero en el aeropuerto Newark
weather_january <- weather %>%
filter(month == 1 & day <= 15 & origin == "EWR")
# Gráfico de línea para la tendencia de temperatura
ggplot(weather_january, aes(x = temp)) +
geom_histogram(binwidth = 1, fill = "skyblue", color = "black") +
labs(main="Tendencia de la Temperatura en los Primeros 15 Días de Enero (Aeropuerto Newark)",
x=weather_january$day,
y=weather_january$temp)
#### Utiliza Facets para observar cómo varía la temperatura en cada mes
en el histograma del punto anterior .
weather %>%
ggplot(aes(x = temp)) +
geom_histogram(binwidth = 2, fill = "skyblue", color = "black") +
labs(title = "Histograma de Temperaturas por Mes",
x = "Temperatura (Fahrenheit)",
y = "Frecuencia") +
facet_wrap(~month)## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_bin()`).
#### 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.
flights %>%
group_by(carrier) %>%
summarise(num_flights = n()) %>%
arrange(desc(num_flights)) %>%
slice(1:10) %>%
ggplot(aes(x = reorder(carrier, -num_flights), y = num_flights)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Numero de vuelos por aerolinea",
x = "Aerolinea",
y = "Numero de Vuelos") +
theme_minimal()
Según el gráfico “Número de vuelos por aerolínea en 2013”, se observa
que las aerolíneas con mayor cantidad de vuelos desde Nueva York durante
ese año fueron “United Airlines” y “JetBlue Airways”. Estas dos
aerolíneas lideran significativamente en términos de la cantidad de
vuelos, superando a otras compañías. El gráfico proporciona una rápida
visualización de la distribución de vuelos entre las aerolíneas
principales, siendo útil para comprender la participación relativa de
cada una en el tráfico aéreo desde Nueva York en 2013. #### Visualiza el
punto anterior en una gráfica de pie.
## [1] "en_US.UTF-8"
# Filtramos los datos para obtener la cantidad de vuelos por aerolínea
top_airlines <- flights %>%
group_by(carrier) %>%
summarise(num_flights = n()) %>%
arrange(desc(num_flights)) %>%
slice(1:10) # Seleccionamos las 10 aerolíneas con más vuelos
ggplot(top_airlines, aes(x = "", y = num_flights, fill = factor(carrier))) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
labs(title = "Distribución del Número de Vuelos por Aerolínea desde Nueva York en 2013",
fill = "Aerolínea",
x = NULL,
y = NULL) +
theme_minimal() +
theme(legend.position = "bottom")
#### Relaciona el data frame fligths con el data frame airports a través
del campo destino.
# Crea un nuevo data frame con los 5 carriers con más vuelos
top_carriers <- union_fya %>%
group_by(carrier) %>%
summarise(num_flights = n()) %>%
arrange(desc(num_flights)) %>%
slice(1:5) %>%
ungroup()
# Muestra el nuevo data frame
print(top_carriers)## # A tibble: 5 × 2
## carrier num_flights
## <chr> <int>
## 1 UA 58665
## 2 B6 54635
## 3 EV 54173
## 4 DL 48110
## 5 AA 32729
####Realiza una visualización del punto anterior de las siguientes tres formas.
# DataFrame con los resultados
top_carriers <- union_fya %>%
group_by(carrier, origin) %>%
summarise(num_flights = n()) %>%
arrange(desc(num_flights)) %>%
slice(1:5) %>%
ungroup()## `summarise()` has grouped output by 'carrier'. You can override using the
## `.groups` argument.
ggplot(top_carriers, aes(x = carrier, y = num_flights, fill = as.factor(carrier))) +
geom_bar(stat = "identity", position = "stack") +
labs(x = "Carrier", y = "Number of Flights", title = "Top 5 Carriers con más vuelos por aeropuerto") +
facet_wrap(~origin, scales = "free_x") +
theme_minimal()ggplot(flights_top_carriers, aes(x = carrier, fill = carrier)) +
geom_bar() +
labs(title = "Cantidad de vuelos por aerolínea", x = "Aerolínea", y = "Cantidad de vuelos") +
theme_minimal() +
geom_text(stat = "count", aes(label = ..count.., group = carrier), vjust = -0.5)## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
ggplot(flights_top_carriers, aes(x = dest, fill = carrier)) +
geom_bar() +
labs(title = "Cantidad de vuelos por destino", x = "Destino", y = "Cantidad de vuelos") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))Valor de la integridad:
La integridad es un valor fundamental que implica actuar con honestidad y coherencia en todas las acciones. En el contexto del análisis de datos, la integridad se traduce en manejar la información de manera precisa, respetar la privacidad de los datos y presentar resultados de manera fiel y objetiva. Este valor implica la responsabilidad de tomar decisiones éticas y transparentes en todas las fases del análisis de datos, desde la recopilación hasta la interpretación y comunicación de los resultados.
Reflexión personal:
En nuestro debe como analistas de datos nos comprometemos a ser justos con los datos de una empresa. Esto implica garantizar la confidencialidad de la información sensible, utilizar métodos y técnicas éticas en el análisis, y presentar los resultados de manera transparente y comprensible. Además, nos comprometemos a cuestionar cualquier práctica que pueda comprometer la integridad de los datos o el análisis, abogando siempre por la toma de decisiones éticas y responsables.
Bibliografía:
Johnson, R. (2018). “Ethics in Data Science: An Introduction.” O’Reilly Media.
Davenport, T., & Harris, J. (2017). “Competing on Analytics: Updated, with a New Introduction.” Harvard Business Review Press.
Diakopoulos, N. (2016). “Data Ethics and the Role of Data Science in the Fourth Industrial Revolution.” Journal of Data Science, 14(4), 553-562.
Algunos puntos destacados y conclusiones importantes incluyen:
Identificación de las principales aerolíneas y destinos:
El código permite identificar las principales aerolíneas y destinos basándose en la cantidad de vuelos. Esto proporciona información clave sobre las asociaciones más frecuentes y puede ser esencial para la toma de decisiones estratégicas. Visualización efectiva:
La implementación de gráficos de barras con colores distintivos facilita la interpretación de la información. La visualización efectiva es crucial para comunicar hallazgos de manera comprensible a los stakeholders de la empresa. Filtrado de datos relevante:
La capacidad de filtrar y trabajar solo con los datos más relevantes, como las cinco principales aerolíneas por destino, ayuda a concentrarse en la información más significativa, reduciendo el ruido y mejorando la eficiencia del análisis.
El código puede ser una herramienta valiosa para la empresa en términos de toma de decisiones estratégicas. Proporciona insights sobre las relaciones clave entre aerolíneas y destinos, lo que puede influir en la planificación de rutas, asociaciones estratégicas y estrategias de marketing. Además, la atención a la ética y la integridad en el manejo de datos refuerza la confianza del cliente y la reputación de la empresa.