Funciones aplicadas:
select: función que permite seleccionar columnas.
starts_with: función que permite seleccionar columnas que empiezen por la letra que deseemos ingresar.
ends_with: función que permite seleccionar columnas que terminen por la letra que deseemos ingresar.
mean: función que calcula la media, tomando la suma de los valores y dividiéndolos con el número de valores de una serie de datos.
head: función que permite mostrar las seis primeras filas.
contains: función que permite seleccionar columnas que contenga una letra que deseemos ingresar.
read.table: función para leer en un archivo que contiene datos tabulares en R.
library: para utilizar las funciones que contiene un paquete.
filter: función que permite filtrar filas según una condición.
everything: selecciona todas las variables y las ordena.
cbind: función que se puede usar para combinar vectores, matrices y marcos de datos por columna.
summarise: crea un nuevo marco de datos.
max: se utiliza para calcular el máximo de elementos vectoriales o el máximo de una columna particular de un marco de datos.
group_by: agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los valores de una o más columnas o expresiones.
sd: función que calcula la desviación estándar de los valores en x.
%>%: operador que es útil para concatenar múltiples dplyr operaciones.
download.file: función que se puede utilizar para descargar un archivo de Internet.
nrow: función que permite contar el numero de filas.
quantile: función que permite calcular los cuantiles de muestra de un vector de entrada numérico.
median: función que permite calcular el valor más medio de una serie de datos.
Librerias aplicadas:
Resolver los siguientes ejercicios:
Paso 1: Primero desempaquetamos dplyr para utilizar la base de datos interna mtcars.
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
Paso 2: Llamamos al dataset mtcars que contendrá los tipos de autos con su respectiva de información.
mtcars
## 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
## 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 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
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 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
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## 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
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
Paso 3: Asignamos a la variable mtcars1, la función select para seleccionar de nuestra base de datos mtcars, desde la primera columna hasta la tercera columna y ejecutamos.
mtcars1 <- select(mtcars, 1:3)
mtcars1
## mpg cyl disp
## Mazda RX4 21.0 6 160.0
## Mazda RX4 Wag 21.0 6 160.0
## Datsun 710 22.8 4 108.0
## Hornet 4 Drive 21.4 6 258.0
## Hornet Sportabout 18.7 8 360.0
## Valiant 18.1 6 225.0
## Duster 360 14.3 8 360.0
## Merc 240D 24.4 4 146.7
## Merc 230 22.8 4 140.8
## Merc 280 19.2 6 167.6
## Merc 280C 17.8 6 167.6
## Merc 450SE 16.4 8 275.8
## Merc 450SL 17.3 8 275.8
## Merc 450SLC 15.2 8 275.8
## Cadillac Fleetwood 10.4 8 472.0
## Lincoln Continental 10.4 8 460.0
## Chrysler Imperial 14.7 8 440.0
## Fiat 128 32.4 4 78.7
## Honda Civic 30.4 4 75.7
## Toyota Corolla 33.9 4 71.1
## Toyota Corona 21.5 4 120.1
## Dodge Challenger 15.5 8 318.0
## AMC Javelin 15.2 8 304.0
## Camaro Z28 13.3 8 350.0
## Pontiac Firebird 19.2 8 400.0
## Fiat X1-9 27.3 4 79.0
## Porsche 914-2 26.0 4 120.3
## Lotus Europa 30.4 4 95.1
## Ford Pantera L 15.8 8 351.0
## Ferrari Dino 19.7 6 145.0
## Maserati Bora 15.0 8 301.0
## Volvo 142E 21.4 4 121.0
Paso 1: Escribimos la función ?select_helpers para observar la ayuda que brinda rstudio para la función select.
?select_helpers
## starting httpd help server ... done
Paso 1: Utilizamos la función head para que nos visualice las seis primeras filas, con ayuda de select, seleccionamos la base de datos mtcars y con la función starts_whit, escogemos las columnas que empiecen con la letra “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
Paso 1: Utilizamos la función head para que nos visualice las seis primeras filas, con ayuda de select, seleccionamos la base de datos mtcars y con la función ends_with, escogemos las columnas que terminen con la letra “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
Paso 1: Copiamos el código del enunciado y al ejecutar se seleccionarán las columnas “drat” y “am”, que no aparecerán en la tabla.
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
Paso 1: Copiamos el código del enunciado y al ejecutar se seleccionarán las columnas que contengan al menos una letra “a” en su nombre.
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
Paso 1: Copiamos el código del enunciado y al ejecutar de la base mtcars se seleccionará la columna de nombres “mpg” con los valores correspondiente a mayores de 20, pero también que la columna de nombre “gear” cumpla la condición de que sea igual a 4.
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
Paso 1: Utilizamos la función head para que nos visualice las seis primeras filas, con ayuda de filter, filtramos los registros de la base de datos mtcars, seleccionamos los sujetos con tipo de transmisión igual a uno asignando am==1 y que tenga seis cilindros o menos, asignando cyl ≤ a 6.
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
Paso 1: Utilizamos la función filter, para filtrar los registros de la base de datos mtcars, seleccionamos los sujetos que consumen menos de 21 mpg o bien tienen menos de 3 carburantes asignando mpg < 21 | carb < 3, y que tenga menos de 4 engranajes, asignando gear < 4.
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 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 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
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Paso 1: Utilizamos la función select, para seleccionar de la base de datos mtcars, las columnas del cilindraje y del desplazamiento, y con el comando everything ordenamos los datos de las columnas selecionadas.
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
Paso 1: Asignamos a la variable wt, la base de datos mtcars donde crearemos una nueva columnas, selecionando la septima columna correspondiente al peso de los coches y ejecutamos.
wt<-mtcars[,7]
wt
## [1] 16.46 17.02 18.61 19.44 17.02 20.22 15.84 20.00 22.90 18.30 18.90 17.40
## [13] 17.60 18.00 17.98 17.82 17.42 19.47 18.52 19.90 20.01 16.87 17.30 15.41
## [25] 17.05 18.90 16.70 16.90 14.50 15.50 14.60 18.60
Paso 2: Asignamos a la variable wt_kg, la variable wt que creamos en el paso anterior y multiplicamos esta variable por 0.45 kg, y ejecutamos.
wt_Kg<-wt*0.45
wt_Kg
## [1] 7.4070 7.6590 8.3745 8.7480 7.6590 9.0990 7.1280 9.0000 10.3050
## [10] 8.2350 8.5050 7.8300 7.9200 8.1000 8.0910 8.0190 7.8390 8.7615
## [19] 8.3340 8.9550 9.0045 7.5915 7.7850 6.9345 7.6725 8.5050 7.5150
## [28] 7.6050 6.5250 6.9750 6.5700 8.3700
Paso 3: Asignamos a la variable mtcars_mod, la función cbind para combinar la variable wt_kg que creamos en el paso anterior a la base de datos mtcars, y ejecutamos.
mtcars_mod<-cbind(mtcars,wt_Kg)
mtcars_mod
## mpg cyl disp hp drat wt qsec vs am gear carb wt_Kg
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 7.4070
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 7.6590
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 8.3745
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 8.7480
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 7.6590
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 9.0990
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 7.1280
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 9.0000
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 10.3050
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 8.2350
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 8.5050
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3 7.8300
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3 7.9200
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 8.1000
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 8.0910
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 8.0190
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4 7.8390
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 8.7615
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 8.3340
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 8.9550
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 9.0045
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2 7.5915
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 7.7850
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 6.9345
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 7.6725
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 8.5050
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 7.5150
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 7.6050
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4 6.5250
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6 6.9750
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8 6.5700
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 8.3700
Paso 1: Asignamos a la variable mtcars_mod1, la función summarise para agrupar los valores de la media de disp en una tabla, seleccionamos la base de datos mtcars y con la función mean sacamos la media de la columna de disp, y ejecutamos.
mtcars_mod1<-summarise(mtcars_mod,mean(disp))
mtcars_mod1
## mean(disp)
## 1 230.7219
Paso 1: Copiamos el código del enunciado y al ejecutar, nos muestra una agrupación de los datos desde el mayor número de desplazamiento según el numero de cilindrage.
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
Paso 1: Copiamos el código del enunciado y al ejecutar, se selecciona la columna de nombre mpg hasta la columa disp usando pipes.
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
Paso 1: Copiamos el código del enunciado y al ejecutar, se seleccionan las columnas de la base de datos mtcars que tengan la letra “a” con la excepción de aparezcan las columnas “drat”, y “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
Paso 1: Copiamos el código del enunciado del ejercicio 15 agregando pipes y head al final, y ejecutamos.
mtcars %>% select(contains("a"), -drat, -am)%>% head
## 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
Paso 1: Copiamos el código del enunciado y al ejecutar, se realizá una agrupación de los cilindrages en donde de cada una se saca la media y la desviación estándar.
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
Paso 1: Copiamos el código del enunciado del ejercicio 17 agregando pipes y head al final, y ejecutamos.
mtcars %>% filter(, wt > 1.5)%>%
group_by( cyl) %>%
summarise(mn = mean(mpg), sd = sd(mpg)) %>% head
## # 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
dplyr
y recomendable utilizar pipes %>% para los siguientes
ejercicios.Paso 1: Desempaquetamos dplyr con ayuda de la función library.
library("dplyr")
Paso 1: Asignamos a la variable web1, el url donde se encuentra ubicado del fichero vuelos.csv.
web1 <- "https://gauss.inf.um.es/datos/vuelos.csv"
Paso 1: Utilizamos la función dowload.file para descargar el archivos vuelos.csv en nuestra máquina.
download.file(web1, "vuelos.csv")
Paso 2: Asignamos a la variable vuelo, la función read.table para leer nuestro archivo asignando header = T y separado por comillas, y ejecutamos usando head para que muestre los seis primeras filas.
vuelos <- read.table(web1,header = T,sep = ",")
head(vuelos)
## date hour minute dep arr dep_delay arr_delay carrier flight dest
## 1 2011-01-01 14 0 1400 1500 0 -10 AA 428 DFW
## 2 2011-01-02 14 1 1401 1501 1 -9 AA 428 DFW
## 3 2011-01-03 13 52 1352 1502 -8 -8 AA 428 DFW
## 4 2011-01-04 14 3 1403 1513 3 3 AA 428 DFW
## 5 2011-01-05 14 5 1405 1507 5 -3 AA 428 DFW
## 6 2011-01-06 13 59 1359 1503 -1 -7 AA 428 DFW
## plane cancelled time dist
## 1 N576AA 0 40 224
## 2 N557AA 0 45 224
## 3 N541AA 0 48 224
## 4 N403AA 0 39 224
## 5 N492AA 0 44 224
## 6 N262AA 0 45 224
Paso 1: Asignamos a la variable destino, la función filter para filtrar los registros de la base de datos vuelo, seleccionamos los vuelos con destino a “SFO” u “OAK” de la siguiente forma dest==“SFO” | dest==“OAK”, y ejecutamos usando head para que muestre los seis primeras filas.
destino <- filter(vuelos, dest=="SFO" | dest=="OAK")
head(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
Paso 2: Luego asignamos la función nrow a la variable destino para contar los vuelos que se quedaron.
nrow(destino)
## [1] 1121
Paso 1: Con ayuda de pipes, seleccionamos los vuelos que se han retrasado(arr_delay) y el destino(dest), después agregamos con la función filter, para filtrar los registros de los vuelos que se retrasaron mas de una hora.
vuelos %>%
select(arr_delay,dest) %>%
filter(arr_delay>60 ) %>% head
## arr_delay dest
## 17 84 DFW
## 20 72 DFW
## 74 69 DFW
## 97 126 DFW
## 99 70 DFW
## 129 80 MIA
Paso 1: Asignamos a la variable restrasos, la función select para seleccionar las columnas “dep_delay” y “arr_delay” pertenecientes a los vuelos con retrasos de nuestra base de datos vuelos.
retrasos <- select(vuelos, dep_delay, arr_delay)
head(retrasos)
## dep_delay arr_delay
## 1 0 -10
## 2 1 -9
## 3 -8 -8
## 4 3 3
## 5 5 -3
## 6 -1 -7
Paso 2: Asignamos a la variable restrasos1, la función select para seleccionar las columnas seis y siete pertenecientes a los vuelos con retrasos de nuestra base de datos vuelos.
retrasos2 <- select(vuelos, 6:7)
head(retrasos2)
## dep_delay arr_delay
## 1 0 -10
## 2 1 -9
## 3 -8 -8
## 4 3 3
## 5 5 -3
## 6 -1 -7
Paso 3: Asignamos a la variable restrasos, la función select para seleccionar la base de datos vuelos y con la función end_with, seleccionaremos las columnas que terminen con la letra “y”, pertenecientes a los vuelos con retrasos.
retrasos3 <- select(vuelos, ends_with("y"))
head(retrasos3)
## dep_delay arr_delay
## 1 0 -10
## 2 1 -9
## 3 -8 -8
## 4 3 3
## 5 5 -3
## 6 -1 -7
Paso 4: Asignamos a la variable restrasos, la función select y el signo (-) para seleccionar las columnas que no queremos que aparezcan en la tabla a excepción de las columnas pertenecientes a los vuelos con retraso .
retrasos4 <- select(vuelos, -date, -hour, -minute, -dep, -arr, -carrier, -flight, -dest, -plane, -cancelled, -time, -dist)
head(retrasos4)
## dep_delay arr_delay
## 1 0 -10
## 2 1 -9
## 3 -8 -8
## 4 3 3
## 5 5 -3
## 6 -1 -7
Paso 1: Con ayuda de pipes y la función filter, filtramos los registros de los vuelos que se retrasaron mas de una hora, luego agregamos la función group_by para agrupar la fecha y por último, con la función summarise sacamos la media, mediana y cuartil 75 de los restrasos en los vuelos por hora.
vuelos %>% filter(arr_delay > 60)%>%
group_by(date) %>%
summarise(mn = mean(arr_delay), md = median(arr_delay), qu75=quantile(arr_delay)) %>% head
## `summarise()` has grouped output by 'date'. You can override using the
## `.groups` argument.
## # A tibble: 6 × 4
## # Groups: date [2]
## date mn md qu75
## <chr> <dbl> <dbl> <dbl>
## 1 2011-01-01 83.5 71 61
## 2 2011-01-01 83.5 71 64
## 3 2011-01-01 83.5 71 71
## 4 2011-01-01 83.5 71 107
## 5 2011-01-01 83.5 71 137
## 6 2011-01-02 114. 101 62
Paso 1: Con ayuda de pipes y la función select, seleccionamos las columnas “arr_delay”, “hour”, “flight”, luego con la función filter, filtramos los registros de los casos mayores a diez, usamos la función group_by, para agrupar los vuelos por dia, y por último, con la ayuda de la función summarise, sacamos la media de retraso en los vuelos por día y hora, y tambien sacamos la cantidad de vuelos por día y hora.
vuelos %>% select(arr_delay,date,hour,flight)%>%
filter(flight > 10) %>%
group_by(date) %>%
summarise(mn = mean(arr_delay, na.rm=T),
cantidad = n_distinct(flight)) %>% head
## # A tibble: 6 × 3
## date mn cantidad
## <chr> <dbl> <int>
## 1 2011-01-01 9.97 531
## 2 2011-01-02 10.5 649
## 3 2011-01-03 6.18 668
## 4 2011-01-04 8.07 554
## 5 2011-01-05 4.23 561
## 6 2011-01-06 6.17 629
Paso 1: Descargamos el paquete RODBC.
install.packages("RODBC")
Paso 2: Asignamos a la variable conexion, la función odbcConnect para ingresar la Data base.
conexion<- odbcConnect("DATABASE_Taller9", uid= "root", pwd= "Wd1998@10")
Paso 3: Asignamos a la variable vuelos, la función sqlQuery para establecer una conexion con MySQl y seleccionamos donde se encuentra el archivos vuelos.
vuelos<- sqlQuery(conexion, "SELECT * FROM taller.vuelos1")
Paso 4: Con la función View, asignamos la variables vuelos para que nos muestre la base de datos importada.
View(vuelos)