UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE CIENCIAS ECONÓMICAS
INGENIERÍA EN ESTADÍSTICA
Autores: Nicole Bauz, Natali Caizaguano, Anahí Chamba, Gandy Churta
Curso: S3-P2
Asignatura: Programación
Docente: Ing. Francisco Valverde PhD
TALLER-APE 10: TIDYVERSE
ÍNDICE:
- EJERCICIO 1
- EJERCICIO 2
- EJERCICIO 3
- EJERCICIO 4
- EJERCICIO 5
- EJERCICIO 6
- EJERCICIO 7
- EJERCICIO 8
- EJERCICIO 9
- EJERCICIO 10
- EJERCICIO 11
- EJERCICIO 12
- EJERCICIO 13
- EJERCICIO 14
- EJERCICIO 15
- EJERCICIO 16
- EJERCICIO 17
- EJERCICIO 18
- EJERCICIO 19
- EJERCICIO 20
- EJERCICIO 21
- EJERCICIO 22
- EJERCICIO 23
- EJERCICIO 24
- EJERCICIO 25
- EJERCICIO 26
- EJERCICIO 27
Utilizando la base de datos interna mtcars, resolver los siguientes enunciados
Descargamos el paquete dplyr para posteriormente cargar su libreria y luego visualizamos la base mtcars.
install.packages(dplyr)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
View(mtcars)EJERCICIO 1
1. Seleccionamos las 3 primeras columnas del dataset mtcars y mostramos la cabecera
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
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
EJERCICIO 2
2. Utiliza la ayuda ?select_helpers para que observes el resultado
?select_helpers## starting httpd help server ... done
?select_helpers: Permite observar la funcion select con mas detalles en Help, en pocas palabras, nos muestra todas las herramientas de la función select.
EJERCICIO 3
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
EJERCICIO 4
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
EJERCICIO 5
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
NO SE SELECCIONAN LAS COLUMNAS -drat Y -am por que las descartan con el (-)
EJERCICIO 6
6. head(select( mtcars, contains( “a” ) )) (Explica que resultado obtienes ?)
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
contains, selecciona las columnas que contengan el caracter “a” y nos las muestra. Nos muestra las columnas que en su nombre contengan una letra “a”
EJERCICIO 7
Head(filter( mtcars, mpg > 20, gear == 4)) (Explica que resultado obtienes ?)
head(filter( mtcars, mpg > 20, gear == 4))Muestra las columnas de MPG mayores a 20
EJERCICIO 8
Seleccionar los sujetos con tipo de transmisión (am) 1 que, además, tienen 6 cilindros o menos
mtcars<-data.frame(mtcars)
ejer8<-mtcars[mtcars$am==1&mtcars$cyl<=6,]
ejer8Muestra solo las columnas de AM iguales a 1
EJERCICIO 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)
ejer9<-mtcars[(mtcars$mpg==21 |mtcars$carb==3) & mtcars$gear<4,]
ejer9Mostró solamente las columnas de carb iguales a 3 y gear menores que 4.
EJERCICIO 10
Ordena por cilindrada (cyl) y por desplazamiento (disp)
datos10<-mtcars[with(mtcars, order(mtcars$cyl, mtcars$disp)), ]
datos10Mostró los datos ordenadamente de cyl y disp.
EJERCICIO 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.
mtcars$kg<-mtcars$wt*0.45
mtcarsEn esta parte nos mostró la multiplicacion de la columna WT multiplicada por 0.45
EJERCICIO 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:
datos12<-mtcars%>%
summarise(mean=mean(disp))
datos12En esta parte nos refleja la media de la columna de disp
EJERCICIO 13
summarise(group_by(mtcars, cyl), max = max(disp)) (Explica que resultado obtienes ?)
summarise(group_by(mtcars,cyl),max=max(disp))En esta parte agrupo a las variables de cyl, ordenamente, conjuntamente selecciono las cantidades mas altas de cada categoria.
EJERICIO 14
Explica que resultado obtienes ?
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
EXPLICACION:“Al ejecutar el codigo se selecciona la columna del nombre mpg hasta la columna disp usando pipes”.
EJERICIO 15
Explica que resultado obtienes ?
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
EXPLICACION:“Al ejecutar el codigo se selecciona las columnas de la base de datos mtcars que tenga la letra”a”con la excepcion de las columnas “drat” y “am”“.
EJERCICIO 16
Utilizando pipes ejecuta el ejercicio 15
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
EJERCICIO 17
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
EXPLICACION:“Al ejecutar el codigo se realiza una agrupacion de los cilindrages en donde de cada una se saca la mediay la desviacion estandar”.
EJERCICIO 18
Utilizando pipes ejecuta el ejercicio 17
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
EJERCICIO 19
Es obligatorio utilizar las funciones del paquete dplyr
y recomendable utilizar pipes %>% para los siguientes
ejercicios.
library("dplyr")EJERCICIO 20
Descarga el fichero de datos vuelos.csv situado enhttp://gauss.inf.um.es/datos/; ## en local o localiza la
url donde se encuentra
web1 <- "http://gauss.inf.um.es/datos/vuelos.csv"EJERCICIO 21
Descarga el archivo y Guarda los datos en una variable llamada
vuelos
vuelos <- read.csv("C:/Users/jorda/Downloads/vuelos.csv", header = T, sep = ",", dec = ".")
vuelosEJERCICIO 22
Selecciona los vuelos con destino SFO u OAK
utilizando las funciones del paquete dplyr. ¿Con cuantos vuelos nos
quedamos?
vuelos_destino1 <- filter(vuelos, dest=="SFO")
head(vuelos_destino1)EJERCICIO 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_retrasos <- select(vuelos, arr_delay)
head(vuelos_retrasos)
vuelos_retrasos1 <- filter(vuelos_retrasos, arr_delay >1 )
head(vuelos_retrasos1)EJERCICIO 24
Encuentra 4 maneras diferentes de utilizar la función
select para seleccionar las variables relacionadas con los
retrasos (delay)
head(select(vuelos, dep_delay))
head(select(vuelos, arr_delay, everything()))
var <- c("dep_delay", "arr_delay")
head( select(vuelos, one_of(var)))
head( select(vuelos, matches(".d.")))EJERCICIO 25
Agrupa los vuelos por fecha y calcula: media, mediana y cuartil 75 de los retrasos en los vuelos por hora
head(select(vuelos, dep_delay))EJERCICIO 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
mean(vuelos$dep_delay, na.rm = T)
mean(vuelos$arr_delay, na.rm = T)
head(filter(vuelos, dep_delay>10,arr_delay>10))EJERCICIO 27
Importar la base de datos realizada en MYSQL a R (Consultarlo como hacerlo)
library("RODBC")
conexion <- odbcConnect("vuelos.prueba",uid = "root",pwd = "gndy")
vuelomysql <- sqlQuery(conexion,"SELECT * FROM vuelos1")
head(vuelomysql)