El propósito de este proyecto es realizar un manual de la utilización de los paquetes readxls y ggplot2 en el software R, enfocado en el análisis de los tipos de cambio publicados diariamente por el Servicio de Administración Tributaria (SAT) para el cumplimiento de obligaciones y derechos que fueron contratados en dólares americanos con respecto al peso mexicano, por el mes de enero de 2017.
Existen diversas bases de datos que contienen los tipos de cambio entre el peso y dólar, sin embargo hemos decidido utilizar una fuente oficial de publicación, debido a que este es el tipo de cambio reconocido por las autoridades, este tipo de análisis nos será de utilidad para nuestro trabajo diario. Así como sus distintas aplicaciones prácticas (por ejemplo hacer análisis del resultado cambiario de una entidad).
A continuación presentaremos el proyecto el cual hemos diseñado de la siguiente forma: escribiremos detalladamente el objetivo de la instrucción dada en el scrip R y posteriormente el comando de la instrucción y funcionalidad en sistema R.
1) Iniciamos nuestro proyecto identificando la información que deseamos analizar.
-Tipos de cambio, tenemos diferentes opciones para obtener la información, sin embargo utilizaremos la fuente del SAT para obtenerla. Buscaremos la liga correcta para bajar el archivo que requerimos.
'("http://www.sat.gob.mx/informacion_fiscal/tablas_indicadores/Documents/tc_2017.xls", "(readxl)")'
## [1] "(\"http://www.sat.gob.mx/informacion_fiscal/tablas_indicadores/Documents/tc_2017.xls\", \"(readxl)\")"
2) Para la utilización del software R, debemos tener claramente identificado el formato en el que se encuentra la información. R tiene capacidad de leer diferentes tipos de formato siempre que utilicemos la paqueteria correcta.
-En este caso encontramos que el archivo que es proporcionado por el SAT, tiene un formato xls por lo que primero requerimos tener instalada la paqueteria readxl, y posteriormente llamarla mediante el siguiente comando library(readxl):
paste("library", "(readxl)")
## [1] "library (readxl)"
3) Instrucción para que el programa se conecte a la página de internet y descargue la base de datos que requerimos para nuestro análisis.
-La siguiente instrucción es indicarle a R que se conecte a la página de internet y definirla con la variable url.
'paste'("url", "(http://www.sat.gob.mx/informacion_fiscal/tablas_indicadores/Documents/tc_2017.xls)")
## [1] "url (http://www.sat.gob.mx/informacion_fiscal/tablas_indicadores/Documents/tc_2017.xls)"
4) Instrucción de descargar el archivo
Con esta funcionalidad es posible, importar archivos desde una página de internet o de cualquier directorio de la computadora, permite manipular las columnas, así como cambiar nombres, entre otras.
library(readxl)
tc_2017 <- read_excel("~/04 Educación continua/03 Maestria - UNAM/04 Materia 2 - Metodos cuantitativos/tc_2017.xlsx")
View(tc_2017)
-b) Opción redactar el script para la lectura de archivos:
library(readxl) url <- “http://www.sat.gob.mx/informacion_fiscal/tablas_indicadores/Documents/tc_2017.xls” destfile <- “tc_2017.xls” curl::curl_download(url, destfile) tc_2017 <- read_excel(destfile, skip = 1, n_max = 31) View(tc_2017)
5) Lectura del archivo
tc_2017
tc_2017
## # A tibble: 31 x 13
## Día Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1.00 NA 20.8 20.0 NA NA 18.7 NA 17.9 17.8
## 2 2.00 20.6 20.8 19.9 NA 19.0 18.6 NA 17.8 NA
## 3 3.00 20.7 20.6 19.9 18.8 18.8 NA 18.1 17.9 NA
## 4 4.00 20.9 NA NA 18.7 18.8 NA 18.2 17.9 17.8
## 5 5.00 21.4 NA NA 18.8 19.0 18.6 18.2 NA 17.9
## 6 6.00 21.4 NA 19.6 18.7 NA 18.4 18.4 NA 17.8
## 7 7.00 NA 20.3 19.6 18.8 NA 18.3 18.3 17.9 17.8
## 8 8.00 NA 20.6 19.5 NA 19.0 18.2 NA 18.0 17.7
## 9 9.00 21.3 20.5 19.6 NA 19.1 18.2 NA 17.9 NA
## 10 10.0 21.3 20.4 19.8 18.7 19.1 NA 18.1 18.0 NA
## # ... with 21 more rows, and 3 more variables: Octubre <dbl>,
## # Noviembre <dbl>, Diciembre <dbl>
6) Análisis de la información -Con ayuda del comando “Summary” podemos análizar ciertas medidas estadísticas tales como: mediana, media, mínimo y máximos, los cuales nos permitiran conocer en este ejemplo el comportamiento por mes del tipo de cambio. Así mismo indica el número de N/A de cada mes, este dato refleja la cantidad de días del mes que no fueron días hábiles (sábados, domingos y feriados).
summary(tc_2017)
## Día Enero Febrero Marzo
## Min. : 1.0 Min. :20.62 Min. :19.70 Min. :18.71
## 1st Qu.: 8.5 1st Qu.:21.23 1st Qu.:20.33 1st Qu.:19.01
## Median :16.0 Median :21.37 Median :20.35 Median :19.49
## Mean :16.0 Mean :21.38 Mean :20.33 Mean :19.36
## 3rd Qu.:23.5 3rd Qu.:21.66 3rd Qu.:20.48 3rd Qu.:19.62
## Max. :31.0 Max. :21.91 Max. :20.79 Max. :20.00
## NA's :9 NA's :12 NA's :9
## Abril Mayo Junio Julio
## Min. :18.49 Min. :18.42 Min. :17.88 Min. :17.49
## 1st Qu.:18.70 1st Qu.:18.63 1st Qu.:17.99 1st Qu.:17.58
## Median :18.77 Median :18.72 Median :18.12 Median :17.75
## Mean :18.78 Mean :18.77 Mean :18.16 Mean :17.84
## 3rd Qu.:18.84 3rd Qu.:18.95 3rd Qu.:18.22 3rd Qu.:18.06
## Max. :19.11 Max. :19.14 Max. :18.69 Max. :18.36
## NA's :13 NA's :9 NA's :9 NA's :10
## Agosto Septiembre Octubre Noviembre
## Min. :17.62 Min. :17.64 Min. :18.16 Min. :18.52
## 1st Qu.:17.72 1st Qu.:17.73 1st Qu.:18.57 1st Qu.:18.71
## Median :17.85 Median :17.78 Median :18.86 Median :19.08
## Mean :17.81 Mean :17.82 Mean :18.77 Mean :18.94
## 3rd Qu.:17.87 3rd Qu.:17.85 3rd Qu.:19.07 3rd Qu.:19.13
## Max. :17.97 Max. :18.20 Max. :19.22 Max. :19.23
## NA's :8 NA's :10 NA's :9 NA's :11
## Diciembre
## Min. :18.62
## 1st Qu.:18.91
## Median :19.12
## Mean :19.13
## 3rd Qu.:19.31
## Max. :19.79
## NA's :12
7) Gráficación de los resultados.
La gráfica puede ser utilizada para análizar el comportamiento del tipo de cambio durante el mes, lo cual a su vez puede utilizarse para hacer otro tipo de análisis como el resultado cambiario de una entidad. Adicionalmente se puede obtener relevante como el mínimo y el máximo del mes, el promedio, la desviación estandar del tipo de cambio, desliz cambiario, entre otros.
Equipo de Computo utilizado
print(sessionInfo(), locale = FALSE)
## R version 3.4.3 (2017-11-30)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 15063)
##
## Matrix products: default
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] readxl_1.0.0
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.15 assertthat_0.2.0 utf8_1.1.3 crayon_1.3.4
## [5] digest_0.6.15 rprojroot_1.3-2 cellranger_1.1.0 backports_1.1.2
## [9] magrittr_1.5 evaluate_0.10.1 pillar_1.1.0 cli_1.0.0
## [13] rlang_0.2.0 stringi_1.1.6 rmarkdown_1.8 tools_3.4.3
## [17] stringr_1.3.0 yaml_2.1.16 compiler_3.4.3 htmltools_0.3.6
## [21] knitr_1.20 tibble_1.4.2
Investigación:
https://support.rstudio.com/hc/en-us/articles/201057987-Quick-list-of-useful-R-packages
Manual markdown
https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf;
https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-spanish.pdf
Paquete readxl
https://cran.r-project.org/web/packages/readxl/readxl.pdf;
https://github.com/tidyverse/readxl
Paquete ggplot2
https://www.rstudio.com/wp-content/uploads/2015/04/ggplot2-spanish.pdf;
http://rstudio-pubs-static.s3.amazonaws.com/2795_901030c4ef944c7797f39bcdac099d74.html