UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERÍA EN ESTADÍSTICA

AUTORES:

*JOHANNA AGUILAR

*JOSE BAÑO

*SAYRI MENDOZA

*JAIME PAREDES

FECHA DE PUBLICACIÓN: 2023-07-16

TALLER N#10

TIDYVERSE

Utilizando la base de datos interna mtcars, resolver los siguientes enunciados:

EJERCICIO 1
nota: hacemos el llamado a las librerias a usar
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## 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
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
1.-Seleccionamos las 3 primeras columnas del dataset mtcars y mostramos la cabecera
head(select(mtcars, 1:3))
##                    mpg cyl disp
## Mazda RX4         21.0   6  160
## Mazda RX4 Wag     21.0   6  160
## Datsun 710        22.8   4  108
## Hornet 4 Drive    21.4   6  258
## Hornet Sportabout 18.7   8  360
## Valiant           18.1   6  225
2.- Utiliza la ayuda ?select_helpers para que observes el resultado
?select_helpers
## starting httpd help server ... done
3.- Seleccionar las columnas que empiezan por d
head(select(mtcars, starts_with("d")))
##                   disp drat
## Mazda RX4          160 3.90
## Mazda RX4 Wag      160 3.90
## Datsun 710         108 3.85
## Hornet 4 Drive     258 3.08
## Hornet Sportabout  360 3.15
## Valiant            225 2.76
4.- Seleccionar las columnas que terminan por p
head(select(mtcars, ends_with("p")))
##                   disp  hp
## Mazda RX4          160 110
## Mazda RX4 Wag      160 110
## Datsun 710         108  93
## Hornet 4 Drive     258 110
## Hornet Sportabout  360 175
## Valiant            225 105
5.- head(select( mtcars, -drat, -am )) (Explica que resultado obtienes ?)
head(select(mtcars, -drat, -am))
##                    mpg cyl disp  hp    wt  qsec vs gear carb
## Mazda RX4         21.0   6  160 110 2.620 16.46  0    4    4
## Mazda RX4 Wag     21.0   6  160 110 2.875 17.02  0    4    4
## Datsun 710        22.8   4  108  93 2.320 18.61  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.215 19.44  1    3    1
## Hornet Sportabout 18.7   8  360 175 3.440 17.02  0    3    2
## Valiant           18.1   6  225 105 3.460 20.22  1    3    1
Explicaciòn:Obtenemos como resultado la base de datos mtcars pero sin las columnas drat y am
6.- head(select( mtcars, contains( “a” ) )) (Explica que resultado obtienes ?)imprime solo las columnas que contienen la letra “a”
head(select(mtcars,contains("a")))
##                   drat am gear carb
## Mazda RX4         3.90  1    4    4
## Mazda RX4 Wag     3.90  1    4    4
## Datsun 710        3.85  1    4    1
## Hornet 4 Drive    3.08  0    3    1
## Hornet Sportabout 3.15  0    3    2
## Valiant           2.76  0    3    1
Explicaciòn:.Observamos que se nos muestran las columnas que en su nombre contienen la letra a
7.- head(filter( mtcars, mpg > 20, gear == 4)) (Explica que resultado obtienes ?)
head(filter(mtcars,mpg>20,gear==4))
##                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4     21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag 21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710    22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## Merc 240D     24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
## Merc 230      22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
## Fiat 128      32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Explicaciòn: - Podemos ver como resultado que filtra los datos de acuerdo a las condiciones dadas, en este caso imprime o selecciona los valores en la columna mpg mayor a 20 y en la columna gear los valores iguales a 4, cumpliendo al mismo tiempo las 2 condiciones.
8.-Seleccionar los sujetos con tipo de transmisión (am) 1 que, además, tienen 6 cilindros o menos
head(filter(mtcars, am==1, cyl<=6))
##                 mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4      21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710     22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## Fiat 128       32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic    30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
9.- Seleccionar los sujetos que bien consumen menos de 21 mpg o bien tienen menos de 3 carburantes (carb) y menos de 4 engranajes (gear)
head(filter(mtcars, (mpg<21 | carb<3) & gear<4))
##                    mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Hornet 4 Drive    21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
## Duster 360        14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
## Merc 450SE        16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
## Merc 450SL        17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
10.-Ordena por cilindrada (cyl) y por desplazamiento (disp)
select(mtcars,cyl ,disp, everything())
##                     cyl  disp  mpg  hp drat    wt  qsec vs am gear carb
## Mazda RX4             6 160.0 21.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag         6 160.0 21.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710            4 108.0 22.8  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive        6 258.0 21.4 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout     8 360.0 18.7 175 3.15 3.440 17.02  0  0    3    2
## Valiant               6 225.0 18.1 105 2.76 3.460 20.22  1  0    3    1
## Duster 360            8 360.0 14.3 245 3.21 3.570 15.84  0  0    3    4
## Merc 240D             4 146.7 24.4  62 3.69 3.190 20.00  1  0    4    2
## Merc 230              4 140.8 22.8  95 3.92 3.150 22.90  1  0    4    2
## Merc 280              6 167.6 19.2 123 3.92 3.440 18.30  1  0    4    4
## Merc 280C             6 167.6 17.8 123 3.92 3.440 18.90  1  0    4    4
## Merc 450SE            8 275.8 16.4 180 3.07 4.070 17.40  0  0    3    3
## Merc 450SL            8 275.8 17.3 180 3.07 3.730 17.60  0  0    3    3
## Merc 450SLC           8 275.8 15.2 180 3.07 3.780 18.00  0  0    3    3
## Cadillac Fleetwood    8 472.0 10.4 205 2.93 5.250 17.98  0  0    3    4
## Lincoln Continental   8 460.0 10.4 215 3.00 5.424 17.82  0  0    3    4
## Chrysler Imperial     8 440.0 14.7 230 3.23 5.345 17.42  0  0    3    4
## Fiat 128              4  78.7 32.4  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic           4  75.7 30.4  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla        4  71.1 33.9  65 4.22 1.835 19.90  1  1    4    1
## Toyota Corona         4 120.1 21.5  97 3.70 2.465 20.01  1  0    3    1
## Dodge Challenger      8 318.0 15.5 150 2.76 3.520 16.87  0  0    3    2
## AMC Javelin           8 304.0 15.2 150 3.15 3.435 17.30  0  0    3    2
## Camaro Z28            8 350.0 13.3 245 3.73 3.840 15.41  0  0    3    4
## Pontiac Firebird      8 400.0 19.2 175 3.08 3.845 17.05  0  0    3    2
## Fiat X1-9             4  79.0 27.3  66 4.08 1.935 18.90  1  1    4    1
## Porsche 914-2         4 120.3 26.0  91 4.43 2.140 16.70  0  1    5    2
## Lotus Europa          4  95.1 30.4 113 3.77 1.513 16.90  1  1    5    2
## Ford Pantera L        8 351.0 15.8 264 4.22 3.170 14.50  0  1    5    4
## Ferrari Dino          6 145.0 19.7 175 3.62 2.770 15.50  0  1    5    6
## Maserati Bora         8 301.0 15.0 335 3.54 3.570 14.60  0  1    5    8
## Volvo 142E            4 121.0 21.4 109 4.11 2.780 18.60  1  1    4    2
11.-Crea una nueva columna que indique los kilogramos que pesa el coche, sabiendo que 1 libra = 0.45 kg. La variable wt indica el peso en libras.
lb<-mtcars
lb$Libras<-lb$wt*0.45
lb
##                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb  Libras
## Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4 1.17900
## Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4 1.29375
## Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1 1.04400
## Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1 1.44675
## Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2 1.54800
## Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1 1.55700
## Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4 1.60650
## Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2 1.43550
## Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2 1.41750
## Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4 1.54800
## Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4 1.54800
## Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3 1.83150
## Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3 1.67850
## Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3 1.70100
## Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4 2.36250
## Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4 2.44080
## Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4 2.40525
## Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1 0.99000
## Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2 0.72675
## Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1 0.82575
## Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1 1.10925
## Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2 1.58400
## AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2 1.54575
## Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4 1.72800
## Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2 1.73025
## Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1 0.87075
## Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2 0.96300
## Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2 0.68085
## Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4 1.42650
## Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6 1.24650
## Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8 1.60650
## Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2 1.25100
12.-La función summarise() agrupa los valores en una tabla de acuerdo a la función que indiquemos. Calcula la media de disp usando la función summarise:
summarise(mtcars,mean(disp))
##   mean(disp)
## 1   230.7219
13.-summarise(group_by(mtcars, cyl), max = max(disp))
summarise(group_by(mtcars, cyl), max = max(disp))
## # A tibble: 3 × 2
##     cyl   max
##   <dbl> <dbl>
## 1     4  147.
## 2     6  258 
## 3     8  472
Explicaciòn: El resultado que obtenemos es que agrupa por cilindraje y devuelve el màximo de cada valor en cada grupo
14.- mtcars %>% select( mpg:disp )%>% head
mtcars%>% select(mpg:disp) %>% head
##                    mpg cyl disp
## Mazda RX4         21.0   6  160
## Mazda RX4 Wag     21.0   6  160
## Datsun 710        22.8   4  108
## Hornet 4 Drive    21.4   6  258
## Hornet Sportabout 18.7   8  360
## Valiant           18.1   6  225
Explicaciòn:. Podemos observar que nos muestra la cabecera con los campos que contiene las variables mpg y las variables cyl
15.- head(select(select(mtcars, contains(“a”)), -drat, -am))
head(select(select(mtcars,contains("a")),-drat, -am))
##                   gear carb
## Mazda RX4            4    4
## Mazda RX4 Wag        4    4
## Datsun 710           4    1
## Hornet 4 Drive       3    1
## Hornet Sportabout    3    2
## Valiant              3    1
Explicaciòn:.Nos presenta los campos con las variables que contienen una letra a en su nombre, excluyendo las columnas drat y am.
16.- Utilizando pipes ejecuta el ejercicio 15
mtcars %>%
  head %>%
  select(-drat, -am) %>%
  select(contains("a"))
##                   gear carb
## Mazda RX4            4    4
## Mazda RX4 Wag        4    4
## Datsun 710           4    1
## Hornet 4 Drive       3    1
## Hornet Sportabout    3    2
## Valiant              3    1
17.-mtcars_filtered = filter(mtcars, wt > 1.5)
mtcars_grouped = group_by(mtcars_filtered, cyl)
summarise(mtcars_grouped, mn = mean(mpg), sd = sd(mpg)) (Explica que resultado obtienes ?)
mtcars_filtered = filter(mtcars, wt > 1.5)
mtcars_grouped = group_by(mtcars_filtered, cyl)
summarise(mtcars_grouped, mn = mean(mpg), sd = sd(mpg))
## # A tibble: 3 × 3
##     cyl    mn    sd
##   <dbl> <dbl> <dbl>
## 1     4  26.7  4.51
## 2     6  19.7  1.45
## 3     8  15.1  2.56
mtcars_filtered = filter(mtcars, wt > 1.5):Nos presenta la base mtcars con la variable wt mayor a 1.5
mtcars_grouped = group_by(mtcars_filtered, cyl):Se hace una agrupacion por el campo cyl en 3 grupos (4,6,8) de acuerdo al filtro
summarise(mtcars_grouped, mn = mean(mpg), sd = sd(mpg)):Presenta a media del campo mpg, tambien la desviacion estandar igual agrupado en el campo cyl
18.-Utilizando pipes ejecuta el ejercicio 17
mtcars %>%
  filter(wt>1.5) %>%
  group_by(cyl) %>%
  summarise(mn = mean(mpg), sd = sd(mpg))
## # A tibble: 3 × 3
##     cyl    mn    sd
##   <dbl> <dbl> <dbl>
## 1     4  26.7  4.51
## 2     6  19.7  1.45
## 3     8  15.1  2.56
19.-Es obligatorio utilizar las funciones del paquete dplyr y recomendable utilizar pipes %>% para los siguientes ejercicios
library(dplyr)
20.-Descarga el fichero de datos vuelos.csv situado en http://gauss.inf.um.es/datos/; en local o localiza la url donde se encuentra
fichero<-"https://gauss.inf.um.es/datos/vuelos.csv"
21.-Descarga el archivo y Guarda los datos en una variable llamada vuelos
download.file(fichero, "vuelos.csv")
vuelos<- read.table(fichero, header = TRUE, sep = ",")
22.-Selecciona los vuelos con destino SFO u OAK utilizando las funciones del paquete dplyr. ¿Con cuantos vuelos nos quedamos?
vuelos_destino<- filter(vuelos, dest=="SFO" | dest=="OAK")
head(vuelos_destino)
##           date hour minute  dep  arr dep_delay arr_delay carrier flight dest
## 373 2011-01-31    8     51  851 1052         1       -27      CO    170  SFO
## 389 2011-01-31   11     29 1129 1351         4         1      CO    270  SFO
## 402 2011-01-31   14     32 1432 1656         7         5      CO    370  SFO
## 436 2011-01-31   17     48 1748 2001         3        -4      CO    570  SFO
## 467 2011-01-31   21     43 2143 2338        50        24      CO    770  SFO
## 468 2011-01-31    7     29  729 1002        -1         2      CO    771  SFO
##      plane cancelled time dist
## 373 N35407         0  225 1635
## 389 N37420         0  228 1635
## 402 N27213         0  229 1635
## 436 N75436         0  236 1635
## 467 N37281         0  224 1635
## 468 N26226         0  237 1635
nrow(vuelos_destino)
## [1] 1121
23.- Selecciona los vuelos que se han retrasado más de una hora. ¿Cuál es el destino que más se retrasa en proporción al número de vuelos?
vuelos_destino %>%
  select(arr_delay, dest) %>%
  filter(arr_delay>60)
##       arr_delay dest
## 1030        102  SFO
## 1048         77  SFO
## 3867         75  SFO
## 3897         69  SFO
## 3945         90  SFO
## 3963         86  SFO
## 3977         64  SFO
## 4717         70  SFO
## 5523        124  SFO
## 6033         87  SFO
## 6068        114  SFO
## 6105        117  SFO
## 6120        144  SFO
## 6138        118  SFO
## 9455         93  OAK
## 11264        99  OAK
## 12107        82  OAK
## 19893       130  SFO
## 20103        82  SFO
## 20118        95  SFO
## 20136        72  SFO
## 21242        64  SFO
## 21277        86  SFO
## 21293        69  SFO
## 21325        98  SFO
## 21452       191  SFO
## 21487       117  SFO
## 21502       173  SFO
## 21520        80  SFO
## 21534       104  SFO
## 21869        72  SFO
## 21997        68  SFO
## 22013        80  SFO
## 22026        89  SFO
## 22060       137  SFO
## 22105       116  SFO
## 22688        75  SFO
## 23378       159  SFO
## 23999        95  SFO
## 26224       207  OAK
## 26809       113  OAK
## 34496        88  SFO
## 34936        88  OAK
## 36519        69  SFO
## 37794       116  SFO
## 37810       146  SFO
## 37875        88  SFO
## 37938       105  SFO
## 38013        75  SFO
## 38044        79  SFO
## 38059       101  SFO
## 38949       177  SFO
## 38965       159  SFO
## 39013       140  SFO
## 39029       168  SFO
## 39093        87  SFO
## 39594        71  SFO
## 39609        73  SFO
## 39621       115  SFO
## 39753        66  SFO
## 39786       102  SFO
## 39801        81  SFO
## 39816        61  SFO
## 39988        89  SFO
## 40003        87  SFO
## 40018       100  SFO
## 40331        91  SFO
## 41355       108  SFO
## 41370        90  SFO
## 41385        96  SFO
## 41497        82  SFO
## 41569       134  SFO
## 42108        90  SFO
## 42139       123  SFO
## 42154       160  SFO
## 42169        93  SFO
## 42181       150  SFO
## 44858       185  SFO
## 44860        74  SFO
## 44862        62  SFO
## 44864        82  SFO
## 44871       164  SFO
## 44874       516  SFO
## 44875        72  SFO
## 44881        83  SFO
## 44883       205  SFO
## 48540       188  OAK
## 49076       157  OAK
## 56802        91  SFO
## 56847        88  SFO
## 56860        70  SFO
## 56941        88  SFO
## 57067        87  SFO
## 57306        80  SFO
## 57626        64  SFO
## 58036       143  SFO
## 58636        67  SFO
## 59037       170  SFO
## 60699        79  SFO
## 60729        83  SFO
## 63091       114  OAK
## 63979        79  OAK
## 64379        65  OAK
## 72018        63  SFO
## 72019       474  SFO
## 72942       303  OAK
24.-Encuentra 4 maneras diferentes de utilizar la función select para seleccionar las variables relacionadas con los retrasos (delay)
PRIMERA FORMA
head(select(vuelos_destino, contains("delay")))
##     dep_delay arr_delay
## 373         1       -27
## 389         4         1
## 402         7         5
## 436         3        -4
## 467        50        24
## 468        -1         2
SEGUNDA FORMA
head(select(vuelos_destino, -c(dep_delay)))
##           date hour minute  dep  arr arr_delay carrier flight dest  plane
## 373 2011-01-31    8     51  851 1052       -27      CO    170  SFO N35407
## 389 2011-01-31   11     29 1129 1351         1      CO    270  SFO N37420
## 402 2011-01-31   14     32 1432 1656         5      CO    370  SFO N27213
## 436 2011-01-31   17     48 1748 2001        -4      CO    570  SFO N75436
## 467 2011-01-31   21     43 2143 2338        24      CO    770  SFO N37281
## 468 2011-01-31    7     29  729 1002         2      CO    771  SFO N26226
##     cancelled time dist
## 373         0  225 1635
## 389         0  228 1635
## 402         0  229 1635
## 436         0  236 1635
## 467         0  224 1635
## 468         0  237 1635
TERCERA FORMA
head(select(vuelos_destino, -c(arr_delay)))
##           date hour minute  dep  arr dep_delay carrier flight dest  plane
## 373 2011-01-31    8     51  851 1052         1      CO    170  SFO N35407
## 389 2011-01-31   11     29 1129 1351         4      CO    270  SFO N37420
## 402 2011-01-31   14     32 1432 1656         7      CO    370  SFO N27213
## 436 2011-01-31   17     48 1748 2001         3      CO    570  SFO N75436
## 467 2011-01-31   21     43 2143 2338        50      CO    770  SFO N37281
## 468 2011-01-31    7     29  729 1002        -1      CO    771  SFO N26226
##     cancelled time dist
## 373         0  225 1635
## 389         0  228 1635
## 402         0  229 1635
## 436         0  236 1635
## 467         0  224 1635
## 468         0  237 1635
CUARTA FORMA
head(select(vuelos_destino, dep_delay, everything()))
##     dep_delay       date hour minute  dep  arr arr_delay carrier flight dest
## 373         1 2011-01-31    8     51  851 1052       -27      CO    170  SFO
## 389         4 2011-01-31   11     29 1129 1351         1      CO    270  SFO
## 402         7 2011-01-31   14     32 1432 1656         5      CO    370  SFO
## 436         3 2011-01-31   17     48 1748 2001        -4      CO    570  SFO
## 467        50 2011-01-31   21     43 2143 2338        24      CO    770  SFO
## 468        -1 2011-01-31    7     29  729 1002         2      CO    771  SFO
##      plane cancelled time dist
## 373 N35407         0  225 1635
## 389 N37420         0  228 1635
## 402 N27213         0  229 1635
## 436 N75436         0  236 1635
## 467 N37281         0  224 1635
## 468 N26226         0  237 1635
25.- Agrupa los vuelos por fecha y calcula: media, mediana y cuartil 75 de los retrasos en los vuelos por hora
vuelos_destino %>% select(date,hour, dep_delay) %>% group_by(date) %>% summarise(media=mean(dep_delay, na.rm=T), mediana= median(dep_delay, na.rm = T), cuartil=quantile(dep_delay,0.75, na.rm=T))
## # A tibble: 120 × 4
##    date       media mediana cuartil
##    <chr>      <dbl>   <dbl>   <dbl>
##  1 2011-01-01  21.2    19      35  
##  2 2011-01-02  63.7    57.5   118. 
##  3 2011-01-03  17.9    13      20  
##  4 2011-01-04  22.5    13.5    37.5
##  5 2011-01-05  27.7    15      17  
##  6 2011-01-06  17.7    17.5    19  
##  7 2011-01-07  15.4    10      19.5
##  8 2011-01-08  17      11      29  
##  9 2011-01-09  22.7    18      23  
## 10 2011-01-10  15.6    15      18  
## # ℹ 110 more rows
View(vuelos_destino)
26.- Utilizando pipes calcula la media de retraso en los vuelos por dí­a y hora, la cantidad de vuelos por día y hora y luego muestra solo los casos para los cuales haya más de 10
vuelos_destino%>%select(dep_delay, date, hour, flight)%>%
  filter(flight>10)%>%
  group_by(date)%>%
  summarise(m_retraso= mean(dep_delay, na.rm=T),c_vuelos_dia=n_distinct(flight))
## # A tibble: 120 × 3
##    date       m_retraso c_vuelos_dia
##    <chr>          <dbl>        <int>
##  1 2011-01-01      21.2            8
##  2 2011-01-02      63.7           10
##  3 2011-01-03      19.9            8
##  4 2011-01-04      25.1            7
##  5 2011-01-05      27.7            9
##  6 2011-01-06      17.7           10
##  7 2011-01-07      15.4           10
##  8 2011-01-08      17              9
##  9 2011-01-09      22.7           10
## 10 2011-01-10      15.6            9
## # ℹ 110 more rows
27.- Importar la base de datos realizada en MYSQL a R (Consultarlo como hacerlo)

1.-Primero se instala la libreria RODBC para establecer la conección entre MySQL y rstudio.

2.-En el buscar de tu ordenador se busca origenes de datos ODBC y se busca el servidor Mysql connector odbc y finalizamos.

3.-se estable una variable y utilizamos la funcion odbcConnect que actúa como una interfaz entre la base de datos y el rstudio, se coloca el nombre del servidor que nosotros registramos con su contraseña.

4.-Con otra variable utilizamos el comando sqlQuery que es para hacer consultas y solo seleccionamos lo que queremos ver de la tabla importada de vuelos.

5.- Para visualizar la cabecera de nuestra tabla utilizamos head y eso es todo y ejecutamos.

#install.packages("RODBC")
library("RODBC")

conexvuelos <- odbcConnect("MySQL Connection1", uid = "root", pwd = "1725385981")
vuelos <- sqlQuery(conexvuelos, "SELECT * FROM vuelos.vuelos")
head(vuelos)
##   date       hour minute dep  arr dep_delay arr_delay carrier flight dest
## 1       1 01/01/2011     14   0 1400      1500         0     -10     AA  428
## 2       2 02/01/2011     14   1 1401      1501         1      -9     AA  428
## 3       3 03/01/2011     13  52 1352      1502        -8      -8     AA  428
## 4       4 04/01/2011     14   3 1403      1513         3       3     AA  428
## 5       5 05/01/2011     14   5 1405      1507         5      -3     AA  428
## 6       6 06/01/2011     13  59 1359      1503        -1      -7     AA  428
##   plane cancelled time dist MyUnknownColumn
## 1   DFW    N576AA    0   40             224
## 2   DFW    N557AA    0   45             224
## 3   DFW    N541AA    0   48             224
## 4   DFW    N403AA    0   39             224
## 5   DFW    N492AA    0   44             224
## 6   DFW    N262AA    0   45             224