UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERIA EN ESTADÍSTICA

GRUPO 2

APLICANDO LOS CONOCIMIENTOS DE RSTUDIO

En este documento se presentan los ejercicios resuletos del taller #10 haciendo uso de rmarkdown

AUTORES

COLABORACIÓN

DATOS

-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)

EJERCICIO 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    

EJERCICIO 2

-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'

EJERCICIO 3

-Seleccionar las columnas que empiezan por d

#head(select(mtcars,starts_with("d")))

EJERCICIO 4

-Seleccionar las columnas que terminan por p

#head(select(mtcars, ends_with("p")))

EJERCICIO 5

-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.

EJERCICIO 6

-head(select( mtcars, contains( “a” ) )) (Explica que resultado obtienes ?):

#head(select(mtcars,contains("a")))

EJERCICIO 7

-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. 

EJERCICIO 8

-Seleccionar los sujetos con tipo de transmisión (am) 1 que, además, tienen 6 cilindros o menos

#filter(mtcars, am == 1 & cyl <= 6)

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)

# filter(mtcars, mpg < 21 | carb < 3 & gear < 4)

EJERCICIO 10

-Ordena por cilindrada (cyl) y por desplazamiento (disp)

# arrange(mtcars, cyl, disp)

EJERCICIO 11

# mutate(mtcars, kilogramos= wt*0.45)%>%head

EJERCICIO 12

#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

EJERCICIO 13

-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.

EJERCICIO 14

#<< 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.

EJERCICIO 15

# 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.

EJERCICIO 16

-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

EJERCICIO 17

#<< 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.

EJERCICIO 18

-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

EJERCICIO 19

# Activamos la libreria dplyr para realizar los siguientes ejercicios
#library(dplyr)

EJERCICIO 20

# << 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

EJERCICIO 21

-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

EJERCICIO 22

-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

EJERCICIO 23

# vuelos%>%select(dest, dep_delay)%>%
  # filter(dep_delay >60)%>%
  # group_by(dest)%>%
  # summarise(destino_retraso= n_distinct(dep_delay))%>%head

EJERCICIO 24

# select(vuelos, dep_delay, arr_delay)%>%head
# select(vuelos, contains("delay"))%>%head
# vuelos%>%select(dep_delay, arr_delay)%>%head
# vuelos%>%select(6,7)%>%head

EJERCICIO 25

# 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

EJERCICIO 26

# 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

EJERCICIO 27

#install.packages("RODBC")
#library(RODBC)
#conexion<- odbcConnect("DATABASE_ISRAEL", uid= "root", pwd= "root")
#vuelos1<- sqlQuery(conexion, "SELECT * FROM israel.vuelos1")
#head(vuelos1)