APLICANDO LOS CONOCIMIENTOS DE RSTUDIO
En este documento se presentan los ejercicios resuletos del taller #10 haciendo uso de rmarkdown
AUTORES
COLABORACIÓN
-Utilizando la base de datos interna mtcars, resolver los siguientes enunciados:
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
#Se instala el paquete
#install.packages("tidyverse")
#Se llama a las librerias
#library(tidyverse)
-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
-Utiliza la ayuda ?select_helpers para que observes el resultado
?select_helpers
## No documentation for 'select_helpers' in specified packages and libraries:
## you could try '??select_helpers'
-Seleccionar las columnas que empiezan por d
#head(select(mtcars,starts_with("d")))
-Seleccionar las columnas que terminan por p
#head(select(mtcars, ends_with("p")))
-head(select( mtcars, -drat, -am )) (Explica que resultado obtienes ?):
#head(select(mtcars,-drat,-am))
#EXPLICACION #Selecciona todas las columnas de mtcars, sin embargo, las columnas:
#drat y am quedan excluidas debido al signo menos.
-head(select( mtcars, contains( “a” ) )) (Explica que resultado obtienes ?):
#head(select(mtcars,contains("a")))
-head(filter( mtcars, mpg > 20, gear == 4)) (Explica que resultado obtienes ?)
#head(filter( mtcars, mpg > 20, gear == 4))
#EXPLICACION: Selecciona las columnas de mtcars, que cumplan con de condicion de:
#cuando su mpg es mayor a 20 y el engranaje sea igual a 4.
-Seleccionar los sujetos con tipo de transmisión (am) 1 que, además, tienen 6 cilindros o menos
#filter(mtcars, am == 1 & cyl <= 6)
-Seleccionar los sujetos que bien consumen menos de 21 mpg o bien tienen menos de 3 carburantes (carb) y menos de 4 engranajes (gear)
# filter(mtcars, mpg < 21 | carb < 3 & gear < 4)
-Ordena por cilindrada (cyl) y por desplazamiento (disp)
# arrange(mtcars, cyl, disp)
# mutate(mtcars, kilogramos= wt*0.45)%>%head
#grupo_disp <- group_by(mtcars, disp)
#grupo_disp
# Se calcula la media de disp usando la función summarise:
#summarise(grupo_disp, mean(disp))
#<< PASO 2 >>._ Tambien se puede hacer de la siguiente forma;
#mtcars%>%summarise(media_disp= mean(disp))%>%head
-summarise(group_by(mtcars, cyl), max = max(disp)) (Explica que resultado obtienes ?)
#<<PASO 1 >>.- Ejecutamos el código presentado
# summarise(group_by(mtcars, cyl), max = max(disp))
#<< PASO 2 >>._ Explicación: Agrupa los datos del cilindraje por su valor
# y obtiene el máximo de ese conjunto de datos.
#<< PASO 1 >>._ Ejecutamos el código presentado:
# mtcars %>% select( mpg:disp )%>% head
#<< PASO 2 >>._ Explicación: Selecciona las columnas desde mpg hasta disp
# y nos muestra los 6 primeros valores de esta.
# head(select(select(mtcars, contains("a")), -drat, -am))
#<< PASO 2 >>._ Explicación: Selecciona las columnas que contengan una
# letra a en su encabezado a excepción de drat y am.
-Utilizando pipes ejecuta el ejercicio 15
#<< PASO 1 >>._ utilizamos la siguiente sintáxis
# mtcars %>%
# select((contains("a")), -drat, -am)
#<< PASO 2 >>._ Se puede usar la siguiente sintáxis
# mtcars%>%select(contains("a"))%>%select(-drat, -am)%>%head
#<< PASO 1 >>._ Ejecutamos el código presentado:
#mtcars_filtered = filter(mtcars, wt > 1.5)
#mtcars_grouped = group_by(mtcars_filtered, cyl)
#summarise(mtcars_grouped, mn = mean(mpg), sd = sd(mpg))
#<< PASO 2 >>._Explicación:
#Se obtiene la media y la desviación estándar de la columna mpg,
#agrupadas según su cilindraje y siempre y cuando su wt sea mayor a 1.5.
-Utilizando pipes ejecuta el ejercicio 17
# %>% <- pipes
# << PASO 1 >>. utlizamos el codigo head para ver la base de datos que se utilizará
#head(mtcars)
# << PASO 2 >>. Utilizando los pipes realizamos el codigo del ejercicio 17
#mtcars%>%
# filter(wt>1.5)%>%
# group_by(cyl)%>%
# summarise(mn=mean(mpg),sd=sd(mpg))%>%
# << PASO 3 >>. Utilizamos el comando head para mostrar los resultados
#head
dplyr
y recomendable utilizar pipes %>% para los siguientes
ejercicios# Activamos la libreria dplyr para realizar los siguientes ejercicios
#library(dplyr)
vuelos.csv situado en http://gauss.inf.um.es/datos/; en local o localiza la
url donde se encuentra:# << PASO 1 >>. buscamos el archivo vuelos.csv en el link
# << PASO 2 >>. Lo ponemos en una variable para poder usar el archivo
url<-"http://gauss.inf.um.es/datos/vuelos.csv"
head(read.csv(file = url,header = T,sep = ","))
## 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 3 >>. Utilizamos la función head para visualizar el archivo vuelos.csv
-Descarga el archivo y Guarda los datos en una variable llamada
vuelos
# << PASO 1 >>. Ubicamos la dirección del archivo vuelos.csv que se va a descargar
url<-("http://gauss.inf.um.es/datos/vuelos.csv")
url
## [1] "http://gauss.inf.um.es/datos/vuelos.csv"
# << PASO 2 >>. Ponemos la dirección en donde se descargara el archivo
destino<-"C:\\Users\\PC\\Downloads\\vuelos.csv" #<- direccion donde se guardara el archivo descargado: Archivo:carpeta creada para guardar el archivo.csv
# << PASO 3 >>. Utilizando el comando download.file descargaremos el archivo
download.file(url,destino)
# << PASO 4 >>. Guardamos los datos en una variable y con el comando head visualizamos los primeros valores
vuelos<-read.csv(destino,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
-Selecciona los vuelos con destino SFO u
OAK utilizando las funciones del paquete dplyr. ¿Con
cuantos vuelos nos quedamos?
# << PASO 1 >>. Utilizando los datos de la variable vuelos filtraremos los vuelos a SFO o OAK
# vSFO_OAK<-(filter(vuelos,(dest=="SFO"|dest=="OAK")))
# << PASO 2 >>. Con el comando head visualizaremos los primeros casos seleccionados
# head(vSFO_OAK)
# nota: nos quedamos con 1121 vuelos de los dos destinos seleccionados
# vuelos%>%select(dest, dep_delay)%>%
# filter(dep_delay >60)%>%
# group_by(dest)%>%
# summarise(destino_retraso= n_distinct(dep_delay))%>%head
select para seleccionar las variables relacionadas con los
retrasos (delay)# select(vuelos, dep_delay, arr_delay)%>%head
# select(vuelos, contains("delay"))%>%head
# vuelos%>%select(dep_delay, arr_delay)%>%head
# vuelos%>%select(6,7)%>%head
# vuelos%>%
# select(date, hour, dep_delay)%>%
# group_by(date)%>%
# summarise(media= mean(dep_delay, na.rm=T),
# mediana= median(dep_delay, na.rm=T),
# cuartil_75= quantile(dep_delay, 0.75, na.rm=T))%>%head
# vuelos%>%select(dep_delay, date, hour, flight)%>%
# filter(flight> 10)%>%
# group_by(date)%>%
# summarise(media_retraso= mean(dep_delay, na.rm=T),
# cantidad_vuelos_x_dia= n_distinct(flight))%>%head
#install.packages("RODBC")
#library(RODBC)
#conexion<- odbcConnect("DATABASE_ISRAEL", uid= "root", pwd= "root")
#vuelos1<- sqlQuery(conexion, "SELECT * FROM israel.vuelos1")
#head(vuelos1)