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
library(nycflights13)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.5
## ✔ ggplot2   3.4.4     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.1
## ── 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
flights = flights

#1 Seleccionar del data frame flights los campos carrier, número de vuelo (flight), origen, destino, tiempo de vuelo y distancia recorrida

select(flights,carrier, flight, origin, dest, air_time, distance)
## # A tibble: 336,776 × 6
##    carrier flight origin dest  air_time distance
##    <chr>    <int> <chr>  <chr>    <dbl>    <dbl>
##  1 UA        1545 EWR    IAH        227     1400
##  2 UA        1714 LGA    IAH        227     1416
##  3 AA        1141 JFK    MIA        160     1089
##  4 B6         725 JFK    BQN        183     1576
##  5 DL         461 LGA    ATL        116      762
##  6 UA        1696 EWR    ORD        150      719
##  7 B6         507 EWR    FLL        158     1065
##  8 EV        5708 LGA    IAD         53      229
##  9 B6          79 JFK    MCO        140      944
## 10 AA         301 LGA    ORD        138      733
## # ℹ 336,766 more rows

#2 Selecciona del data frame flights todos los campos entre year “y” day (incluyéndolo)

select(flights,year:day)
## # A tibble: 336,776 × 3
##     year month   day
##    <int> <int> <int>
##  1  2013     1     1
##  2  2013     1     1
##  3  2013     1     1
##  4  2013     1     1
##  5  2013     1     1
##  6  2013     1     1
##  7  2013     1     1
##  8  2013     1     1
##  9  2013     1     1
## 10  2013     1     1
## # ℹ 336,766 more rows

#3 Seleccionar del data frame flights todos los campos con ecxepción de hour, minute “y” time_hour

select(flights, -hour, -minute, -time_hour)
## # A tibble: 336,776 × 16
##     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
## # ℹ 8 more variables: arr_delay <dbl>, carrier <chr>, flight <int>,
## #   tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>

##mutate()

#4 Seleccionar del data frame flights los campos de year a day, los que terminen con delay y los campos distances “y” air_time

filter(flights, dep_delay>0)
## # A tibble: 128,432 × 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      601            600         1      844            850
##  5  2013     1     1      608            600         8      807            735
##  6  2013     1     1      611            600        11      945            931
##  7  2013     1     1      613            610         3      925            921
##  8  2013     1     1      623            610        13      920            915
##  9  2013     1     1      632            608        24      740            728
## 10  2013     1     1      644            636         8      931            940
## # ℹ 128,422 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>
df_mutate = select(flights, year:day, distance, air_time)

#agrega dos campos al data frame anterior

#1) tiempo_ganado que resulta de restar la hora de llegada a la hora de partida

flights %>% mutate(tiempo_ganado= arr_time - dep_time, .keep = "all")
## # A tibble: 336,776 × 20
##     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
## # ℹ 12 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>, tiempo_ganado <int>

#2) velocidad_vuelo que resulta de dividir distancia entre tiempo de vuelo por 60

Vuelos_Velocidad = mutate(flights,velocidad_vuelo= (distance/air_time)*60, .keep = "all")

Vuelos_Velocidad
## # A tibble: 336,776 × 20
##     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
## # ℹ 12 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>, velocidad_vuelo <dbl>

Filtrando datos en un data frame con filter()

#5 Muestra los vuelos que presentan un retraso superior a 2 horas a la hora de llegada

filter(flights,arr_delay>120)
## # A tibble: 10,034 × 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      811            630       101     1047            830
##  2  2013     1     1      848           1835       853     1001           1950
##  3  2013     1     1      957            733       144     1056            853
##  4  2013     1     1     1114            900       134     1447           1222
##  5  2013     1     1     1505           1310       115     1638           1431
##  6  2013     1     1     1525           1340       105     1831           1626
##  7  2013     1     1     1549           1445        64     1912           1656
##  8  2013     1     1     1558           1359       119     1718           1515
##  9  2013     1     1     1732           1630        62     2028           1825
## 10  2013     1     1     1803           1620       103     2008           1750
## # ℹ 10,024 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>

#6 Muestra los vuelos que presentan un retraso superior a 2 horas en la hora de llegada o en la hora de partida

filter(flights, dep_delay>120 | arr_delay>120)
## # A tibble: 11,422 × 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      811            630       101     1047            830
##  2  2013     1     1      848           1835       853     1001           1950
##  3  2013     1     1      957            733       144     1056            853
##  4  2013     1     1     1114            900       134     1447           1222
##  5  2013     1     1     1505           1310       115     1638           1431
##  6  2013     1     1     1525           1340       105     1831           1626
##  7  2013     1     1     1540           1338       122     2020           1825
##  8  2013     1     1     1549           1445        64     1912           1656
##  9  2013     1     1     1558           1359       119     1718           1515
## 10  2013     1     1     1732           1630        62     2028           1825
## # ℹ 11,412 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>

#7 Ahora, muestra una estrucutra de la base de datos con glimpse()

glimpse(flights)
## Rows: 336,776
## Columns: 19
## $ year           <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2…
## $ month          <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ day            <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ dep_time       <int> 517, 533, 542, 544, 554, 554, 555, 557, 557, 558, 558, …
## $ sched_dep_time <int> 515, 529, 540, 545, 600, 558, 600, 600, 600, 600, 600, …
## $ dep_delay      <dbl> 2, 4, 2, -1, -6, -4, -5, -3, -3, -2, -2, -2, -2, -2, -1…
## $ arr_time       <int> 830, 850, 923, 1004, 812, 740, 913, 709, 838, 753, 849,…
## $ sched_arr_time <int> 819, 830, 850, 1022, 837, 728, 854, 723, 846, 745, 851,…
## $ arr_delay      <dbl> 11, 20, 33, -18, -25, 12, 19, -14, -8, 8, -2, -3, 7, -1…
## $ carrier        <chr> "UA", "UA", "AA", "B6", "DL", "UA", "B6", "EV", "B6", "…
## $ flight         <int> 1545, 1714, 1141, 725, 461, 1696, 507, 5708, 79, 301, 4…
## $ tailnum        <chr> "N14228", "N24211", "N619AA", "N804JB", "N668DN", "N394…
## $ origin         <chr> "EWR", "LGA", "JFK", "JFK", "LGA", "EWR", "EWR", "LGA",…
## $ dest           <chr> "IAH", "IAH", "MIA", "BQN", "ATL", "ORD", "FLL", "IAD",…
## $ air_time       <dbl> 227, 227, 160, 183, 116, 150, 158, 53, 140, 138, 149, 1…
## $ distance       <dbl> 1400, 1416, 1089, 1576, 762, 719, 1065, 229, 944, 733, …
## $ hour           <dbl> 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6…
## $ minute         <dbl> 15, 29, 40, 45, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0…
## $ time_hour      <dttm> 2013-01-01 05:00:00, 2013-01-01 05:00:00, 2013-01-01 0…

#8 Muestra los vuelos realizados en los meses de Noviembre y Diciembre

filter(flights,month>=11)
## # A tibble: 55,403 × 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    11     1        5           2359         6      352            345
##  2  2013    11     1       35           2250       105      123           2356
##  3  2013    11     1      455            500        -5      641            651
##  4  2013    11     1      539            545        -6      856            827
##  5  2013    11     1      542            545        -3      831            855
##  6  2013    11     1      549            600       -11      912            923
##  7  2013    11     1      550            600       -10      705            659
##  8  2013    11     1      554            600        -6      659            701
##  9  2013    11     1      554            600        -6      826            827
## 10  2013    11     1      554            600        -6      749            751
## # ℹ 55,393 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>

#9 Muestra los vuelos operados por United, American o Delta

filter(flights,carrier==c("AA","UA","DL"))
## Warning: There was 1 warning in `filter()`.
## ℹ In argument: `carrier == c("AA", "UA", "DL")`.
## Caused by warning in `carrier == c("AA", "UA", "DL")`:
## ! longitud de objeto mayor no es múltiplo de la longitud de uno menor
## # A tibble: 46,168 × 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      533            529         4      850            830
##  2  2013     1     1      558            600        -2      753            745
##  3  2013     1     1      558            600        -2      923            937
##  4  2013     1     1      559            600        -1      854            902
##  5  2013     1     1      602            610        -8      812            820
##  6  2013     1     1      606            610        -4      837            845
##  7  2013     1     1      615            615         0      833            842
##  8  2013     1     1      628            630        -2     1137           1140
##  9  2013     1     1      628            630        -2     1016            947
## 10  2013     1     1      635            635         0     1028            940
## # ℹ 46,158 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>

#10 Ordena flights para encontrar los vuelos más rápidos (velocidad más alta)

arrange(Vuelos_Velocidad,desc(velocidad_vuelo))
## # A tibble: 336,776 × 20
##     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     5    25     1709           1700         9     1923           1937
##  2  2013     7     2     1558           1513        45     1745           1719
##  3  2013     5    13     2040           2025        15     2225           2226
##  4  2013     3    23     1914           1910         4     2045           2043
##  5  2013     1    12     1559           1600        -1     1849           1917
##  6  2013    11    17      650            655        -5     1059           1150
##  7  2013     2    21     2355           2358        -3      412            438
##  8  2013    11    17      759            800        -1     1212           1255
##  9  2013    11    16     2003           1925        38       17             36
## 10  2013    11    16     2349           2359       -10      402            440
## # ℹ 336,766 more rows
## # ℹ 12 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>, velocidad_vuelo <dbl>

#¿Cuál es la aerolínea que vuela más rápido?

velocidades_por_aerolinea = flights %>%
  group_by(carrier) %>%
  summarize(Velocidad_promedio = mean(distance / (air_time/ 60), na.rm = TRUE)) %>%
  arrange(desc(Velocidad_promedio))

aerolinea_mas_rapida = velocidades_por_aerolinea$carrier[1]
velocidad_promedio_mas_alta=velocidades_por_aerolinea$Velocidad_promedio[1]

cat("La aerolínea que vuela más rápido es:", aerolinea_mas_rapida, "con una velocidad promedio de", round(velocidad_promedio_mas_alta, 2), "millas por hora.")
## La aerolínea que vuela más rápido es: HA con una velocidad promedio de 480.36 millas por hora.

#Aplicando funciones como min, max, mean, sum, count, etc con group_by() y summarize()

#11 Cuál es la media del retraso en los vuelos, agrupa por year, month, day

año_promedio= mean(flights$dep_delay,na.rm = T)
flights$dep_delay[is.na(flights$dep_delay)] = año_promedio
MediaYear= mean(flights$dep_delay)
  
cat("El retraso promedio del 2013 es:", MediaYear)
## El retraso promedio del 2013 es: 12.63907
año_promedio= mean(flights$dep_delay,na.rm = T)
flights$dep_delay[is.na(flights$dep_delay)] = año_promedio
RetrasoM=flights %>% group_by(month) %>% summarize( promre = mean(dep_delay))


cat("Mes 1 Promedio:", RetrasoM$promre [1], "\nMes 2 Promedio", RetrasoM$promre [2], "\nMes 3 Promedio:", RetrasoM$promre [3], "\nMes 4 Promedio:", RetrasoM$promre [4], "\nMes 5 Promedio:", RetrasoM$promre [5], "\nMes 6 Promedio:", RetrasoM$promre [6], "\nMes 7 Promedio:", RetrasoM$promre [7], "\nMes 8 Promedio:", RetrasoM$promre [8], "\nMes 9 Promedio:", RetrasoM$promre [9], "\nMes 10 Promedio:", RetrasoM$promre [10], "\nMes 11 Promedio:", RetrasoM$promre [11], "\nMes 12 Promedio:", RetrasoM$promre [12])
## Mes 1 Promedio: 10.08687 
## Mes 2 Promedio 10.90894 
## Mes 3 Promedio: 13.20952 
## Mes 4 Promedio: 13.90741 
## Mes 5 Promedio: 12.98006 
## Mes 6 Promedio: 20.55312 
## Mes 7 Promedio: 21.43744 
## Mes 8 Promedio: 12.6115 
## Mes 9 Promedio: 6.819463 
## Mes 10 Promedio: 6.296231 
## Mes 11 Promedio: 5.496916 
## Mes 12 Promedio: 16.43323
año_promedio= mean(flights$dep_delay,na.rm = T)
flights$dep_delay[is.na(flights$dep_delay)] = año_promedio
RetrasoMensual=flights %>% group_by(day) %>% summarize( promret = mean(dep_delay))


cat("Dia 1 Promedio:", RetrasoMensual$promret [1], "\nDia 2 Promedio", RetrasoMensual$promret [2], "\nDia 3 Promedio:", RetrasoMensual$promret [3], "\nDia 4 Promedio:", RetrasoMensual$promret [4], "\nDia 5 Promedio:", RetrasoMensual$promret [5], "\nDia 6 Promedio:", RetrasoMensual$promret [6], "\nDia 7 Promedio:", RetrasoMensual$promret [7], "\nDia 8 Promedio:", RetrasoMensual$promret [8], "\nDia 9 Promedio:", RetrasoMensual$promret [9], "\nDia 10 Promedio:", RetrasoMensual$promret [10], "\nDia 11 Promedio:", RetrasoMensual$promret [11], "\nDia 12 Promedio:", RetrasoMensual$promret [12],"\nDia 13 Promedio:", RetrasoMensual$promret [13], "\nDia 14 Promedio", RetrasoMensual$promret [14], "\nDia 15 Promedio:", RetrasoMensual$promret [15], "\nDia 16 Promedio:", RetrasoMensual$promret [16], "\nDia 17 Promedio:", RetrasoMensual$promret [17], "\nDia 18 Promedio:", RetrasoMensual$promret [18], "\nDia 19 Promedio:", RetrasoMensual$promret [19], "\nDia 20 Promedio:", RetrasoMensual$promret [20], "\nDia 21 Promedio:", RetrasoMensual$promret [21], "\nDia 22 Promedio:", RetrasoMensual$promret [22], "\nDia 23 Promedio:", RetrasoMensual$promret [23], "\nDia 24 Promedio:", RetrasoMensual$promret [24],"\nDia 25 Promedio:", RetrasoMensual$promret [25], "\nDia 26 Promedio", RetrasoMensual$promret [26], "\nDia 27 Promedio:", RetrasoMensual$promret [27], "\nDia 28 Promedio:", RetrasoMensual$promret [28], "\nDia 29 Promedio:", RetrasoMensual$promret [29], "\nDia 30 Promedio:", RetrasoMensual$promret [30], "\nDia 31 Promedio:", RetrasoMensual$promret [31])
## Dia 1 Promedio: 14.13848 
## Dia 2 Promedio 14.0814 
## Dia 3 Promedio: 10.82907 
## Dia 4 Promedio: 5.840438 
## Dia 5 Promedio: 7.921112 
## Dia 6 Promedio: 7.141438 
## Dia 7 Promedio: 14.28996 
## Dia 8 Promedio: 21.0154 
## Dia 9 Promedio: 14.53514 
## Dia 10 Promedio: 18.03072 
## Dia 11 Promedio: 15.69603 
## Dia 12 Promedio: 15.08638 
## Dia 13 Promedio: 13.54238 
## Dia 14 Promedio 9.069193 
## Dia 15 Promedio: 6.9626 
## Dia 16 Promedio: 8.79276 
## Dia 17 Promedio: 13.50817 
## Dia 18 Promedio: 14.81595 
## Dia 19 Promedio: 15.15847 
## Dia 20 Promedio: 8.595765 
## Dia 21 Promedio: 9.147325 
## Dia 22 Promedio: 18.54934 
## Dia 23 Promedio: 17.21791 
## Dia 24 Promedio: 15.19591 
## Dia 25 Promedio: 14.71653 
## Dia 26 Promedio 9.780146 
## Dia 27 Promedio: 12.09454 
## Dia 28 Promedio: 15.64294 
## Dia 29 Promedio: 8.501407 
## Dia 30 Promedio: 10.07037 
## Dia 31 Promedio: 9.573828

#Elimina los Na’s

#Identifica el día, mes, año que tuvo menos retraso

Ret_ordena=RetrasoM %>% arrange(promre)
Mes_menosR = Ret_ordena[1]

MES_ordena = RetrasoM %>%
  group_by(month) %>%
  arrange((promre))

MesMenRetr = MES_ordena$month[1]

cat("El mes con menos retraso es:", MesMenRetr)
## El mes con menos retraso es: 11
Ret_ordenaD =RetrasoMensual%>% arrange(promret)
Day_menosR = Ret_ordenaD[1]

DAY_ordena = RetrasoMensual%>%  
  group_by(day) %>%
  arrange((promret))

DayMenRetr = DAY_ordena$day[1]

cat("El día con menos retraso es:", DayMenRetr)
## El día con menos retraso es: 4
cat("El año con menos retraso es:", 2013)
## El año con menos retraso es: 2013

#12 Obtén el número de vuelos por aerlorínea y destino

vuelos_por_aerolinea_destino = flights %>%
  group_by(carrier,dest) %>%
  summarize(Numero_de_vuelos = n())
## `summarise()` has grouped output by 'carrier'. You can override using the
## `.groups` argument.
vuelos_por_aerolinea_destino
## # A tibble: 314 × 3
## # Groups:   carrier [16]
##    carrier dest  Numero_de_vuelos
##    <chr>   <chr>            <int>
##  1 9E      ATL                 59
##  2 9E      AUS                  2
##  3 9E      AVL                 10
##  4 9E      BGR                  1
##  5 9E      BNA                474
##  6 9E      BOS                914
##  7 9E      BTV                  2
##  8 9E      BUF                833
##  9 9E      BWI                856
## 10 9E      CAE                  3
## # ℹ 304 more rows

#Identifica aerolínea y destino con mayor número de vuelos ordenando el resultado anterior de forma ascendente

  vuelos_por_aerolinea_destino  %>% arrange(desc(Numero_de_vuelos))
## # A tibble: 314 × 3
## # Groups:   carrier [16]
##    carrier dest  Numero_de_vuelos
##    <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

#13 Obtén la máxima distancias recorrida por aerolínea y destino, ordena en forma descendente por máxima distancia recorrida

max_distancia_por_aerolinea_destino = flights %>%
  group_by(carrier, dest) %>%
  summarize(Max_Dist = max(distance))
## `summarise()` has grouped output by 'carrier'. You can override using the
## `.groups` argument.
max_distancia_por_aerolinea_destino = max_distancia_por_aerolinea_destino %>%
  arrange(desc(Max_Dist))

max_distancia_por_aerolinea_destino
## # A tibble: 314 × 3
## # Groups:   carrier [16]
##    carrier dest  Max_Dist
##    <chr>   <chr>    <dbl>
##  1 HA      HNL       4983
##  2 UA      HNL       4963
##  3 UA      ANC       3370
##  4 AA      SFO       2586
##  5 B6      SFO       2586
##  6 DL      SFO       2586
##  7 UA      SFO       2586
##  8 VX      SFO       2586
##  9 B6      OAK       2576
## 10 B6      SJC       2569
## # ℹ 304 more rows

Renombrando campos en un data frame con rename()

#14 En la consulta 18 renombra el campo max_distancia por distancia_máxima_recorrida

max_distancia_por_aerolinea_destino = max_distancia_por_aerolinea_destino %>%
  rename(distancia_máxima_recorrida = Max_Dist)

max_distancia_por_aerolinea_destino
## # A tibble: 314 × 3
## # Groups:   carrier [16]
##    carrier dest  distancia_máxima_recorrida
##    <chr>   <chr>                      <dbl>
##  1 HA      HNL                         4983
##  2 UA      HNL                         4963
##  3 UA      ANC                         3370
##  4 AA      SFO                         2586
##  5 B6      SFO                         2586
##  6 DL      SFO                         2586
##  7 UA      SFO                         2586
##  8 VX      SFO                         2586
##  9 B6      OAK                         2576
## 10 B6      SJC                         2569
## # ℹ 304 more rows