Facultad de Contaduría y Administración (UNAM - Unidad de Posgrado)

Maestría en Administración de las Organizaciones

Métodos Cuantitativos Aplicados a la Administración

Doctor: Carlos Rodríguez Contreras

alt text

alt text

Introducción

El entorno de R representa un lenguaje de programación bien desarrollado y estructurado que permite almacenar y manipular una gran cantidad de datos utilizando un conjunto de programas que se utilizan para realizar cálculos y gráficos. La variedad de herramientas que posee el entorno de R, le permiten analizar esa gran cantidad de datos, manipularlos y proyectarlos ante una posibilidad amplia de gráficos.

En la actualidad, las personas que conocen el entorno de R, en su mayoría lo utiliza como un sistema estadístico, el cual a partir de una gran variedad de paquetes (packages) permiten ejecutar una infinidad de técnicas estadísticas.

En el manejo de base de datos, el programa que en su mayoría utilizan las personas para realizar dichos cálculos estadísticos, es Microsoft Excel, el cual puede ser trabajado también desde el entorno de R, a través del paquete denominado .xlsx que permite importar y exportar archivos de Excel utilizando RStudio.

El paquete XLSX proporciona un control programático de los archivos de Excel utilizando R, de esta manera, una API de alto nivel permite al usuario leer una hoja de un documento xlsx en un archivo data.frame, así como la posibilidad de poder escribir en dicho archivo. De esta manera, el paquete permite la manipulación directa de hojas, filas y celdas, así como tener el control para establecer colores, fuentes, datos, formatos, añadir bordes, ocultar o mostrar hojas, entre otras funciones.

Con la presentación de este Manual, se pretende guiar al usuario sobre el manejo de las principales herramientas y funciones del paquete xlsx para trabajar con Excel desde RStudio.

Requerimientos del Sistema

Es importante mencionar que el Paquete XLSX, está disponible para Windows, Mac y Linux, y para poder utilizarlo es necesario tener instalada la versión de 64 bits de JAVA, así como los paquetes para R: rJava y xlsxjars.

Instalar XLSX en R

Una manera sencilla de instalar el paquete es facilitando su nombre a install.packages desde la consola de R, o bien, utilizando en la consola el comando library(“xlsx”), de esta manera se descargará el paquete y también sus dependencias, quedando instalados y listos para usar.

library("xlsx")
## Loading required package: rJava
## Loading required package: xlsxjars

¿Cómo leer un archivo de Excel de tipo XLSX en R?

Es importante saber que para poder leer la información contenida en una hoja de cálculo, esta tiene que estar bien estructurada en la tabla de datos para que XLSX la pueda leer correctamente, y guardado el archivo en la consola de R como XLSX.

En este sentido, las funciones read.xlsx() y read.xlsx2() pueden ser utilizadas para leer los contenidos de una hoja de cálculo de Excel en un data.frame de R.

De esta manera, el formato queda de la siguiente manera:

# read.xlsx(file, sheetIndex, header=TRUE, colClasses=NA)
##En donde
##file: es la ruta del archivo que se va a leer.
##sheetIndex: un número que indica el índice de la hoja que se va a leer.
##header: un valor lógico.
##colClasses: un véctor de carácteres que representan la clase de cada columna.

Ejemplo:

data <- read.xlsx("escuela1.xlsx", sheetIndex = 1)
data
##    NA.   Nombre Edad     Materia Calificacion           Estado
## 1    1   Carlos   25     Entorno            8 Ciudad de Mexico
## 2    2     Jose   28 Estadistica            9 Ciudad de Mexico
## 3    3     Rosa   29   Seminario            7           Toluca
## 4    4  Armando   33   Seminario           10         Guerrero
## 5    5 Angelica   40 Estadistica           10           Toluca
## 6    6 Humberto   28 Estadistica            8         Tlaxcala
## 7    7    Lucia   28     Entorno           10 Ciudad de Mexico
## 8    8    Maria   34     Entorno            9          Durango
## 9    9    Erika   42   Seminario            9 Ciudad de Mexico
## 10  10     Luis   35 Estadistica           10         Guerrero

Nota: Al ejecutar este comando se puede ya leer la información del archivo de excel en R.

Una vez visualizado los datos, es posible obtener de los mismos valores como el Mínimo, la Mediana y la Media y el Valor Máximo de una de las variables, por ejemplo, obtendremos esta información de la variable “Calificacion”

Ejemplo:

summary(data$Calificacion)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    7.00    8.25    9.00    9.00   10.00   10.00

¿Cómo graficar los datos importados de Excel en R?

Con los datos anteriores, es posible realizar una serie de gráficas, teniendo previamente instalado el paquete ggplot2, y procedemos a realizar lo siguiente:

barplot(table(data$Calificacion), main = "Calificaciones", col = "skyblue2")

Asimismo, podemos graficar el análisis de dos datos en particular, para ello, visualizamos primero los datos con el comando “head” y posteriormente, graficamos con “boxplot”, el cual nos permitirá visualizar otro tipo de gráfico.

Ejemplo

head(data, n=2)
##   NA. Nombre Edad     Materia Calificacion           Estado
## 1   1 Carlos   25     Entorno            8 Ciudad de Mexico
## 2   2   Jose   28 Estadistica            9 Ciudad de Mexico
boxplot(data$Calificacion, main="Calificaciones", xlab="Carlos", ylab="Calificaciones", col = "red")

¿Cómo exportar datos de R a un archivo de Excel?

La función write.xlsx() se usa para exportar datos de R a un libro de Excel. Para ello, tenemos que crear un archivo nuevo de excel al que llamaremos datosRExcel.xlsx Primero, comenzaremos cargando la libreria.xlsx y ejecutando posteriormente la función write.xlsx como se ilustra a continuación.

library(xlsx)
write.xlsx(USArrests, file = "datosRExcel.xlsx", sheetName = "Detenciones")

Lo anterior lo podemos visualizar en la siguiente imagen que nos muestra como se van agregando los data sets en la hoja de trabajo de Excel.

alt text

alt text

Asimismo, se pueden agregar distintos datasets en el mismo libro de Excel, sólo se tiene que utilizar el argumento append=TRUE, como se ilustra a continuación.

write.xlsx(mtcars, file = "datosRExcel.xlsx", sheetName = "MTCARS", append = TRUE)
alt text

alt text

¿Cómo crear un archivo de Excel desde R?

Es importante mencionar que existen tres paquetes en R que sirven para importar y exportar datos de Excel, estos paquetes son: XLSX, XLConnect y r2excel, asimismo, estos paquetes permiten dar lectura y escritura a los archivos de excel desde el entorno de R, así como dar formato a los mismos.

Para crear un archivo de Excel desde R, es necesario utilizar el paquete “r2excel” y ejecutar las siguientes funciones:

library("r2excel")
#Para crear un libro de Excel se pueden utilizar los formatos .xls y .xlsx
filename <- "r2excel-example1.xlsx"
wb <- createWorkbook(type = "xlsx")

#Para crear una hoja en el libro de Excel que contenga una tabla de datos.
sheet <- createSheet(wb, sheetName = "example1")

#Para añadir encabezado.
xlsx.addHeader(wb, sheet, value = "Add table", level = 1, color = "black", underline = 1)
xlsx.addLineBreak(sheet, 1)

#Para añadir un párrafo que contenga los datos del autor.
author=paste ("Author : Alboukade1 KASSAMBARA. \n", "@:alboukade1.kassambara@gmail.com", "\n Website : http://ww.sthda.com", sep="")
xlsx.addParagraph(wb, sheet, value = author, isItalic = TRUE, colSpan = 5, rowSpan = 4, fontColor = "darkgray", fontSize = 14)
xlsx.addLineBreak(sheet, 3)

#Para añadir una tabla en donde se agreguen datos.
xlsx.addTable(wb, sheet, head(iris), startCol = 2)
xlsx.addLineBreak(sheet, 2)

#Una vez realizado lo anterior, es importante guardar el libro en un archivo de Excel
saveWorkbook(wb, filename)

#Una vez guardado, se podrá visualizar el archivo creado de Excel.
xlsx.openFile(filename)

#El archivo generado se visualizará de la siguiente manera:
alt text

alt text

Conclusiones

Como se pudo observar en el Manual, el paquete XLSX brinda una infinidad de funciones para realizar análisis estadísticos, diagramas, gráficos e incluso crear archivos de excel desde el entorno de R y modificar, agregar o dar formato a sus celdas, texto, tablas y demás elementos, así como trabajar un archivo de excel desde R al momento de importar sus datos o bien exportar datos de R hacia un archivo de Excel. Estas oportunidades que nos brinda el entorno de RStudio permite cubrir un sin fin de necesidades para realizar presentaciones o bien análisis más detallados.

Fuentes de Consulta

R xlsx package: A quick start guide to manipulate Excel files in R. Disponible en http://www.sthda.com/english/wiki/r-xlsx-package-a-quick-start-guide-to-manipulate-excel-files-in-r#create-and-format-a-nice-excel-workbook

Tutorial Read XLSX File in R. Disponible en https://www.youtube.com/watch?v=V7SkBywk08I

Tutorial R Programming Export Data to XLSX Excel File. Disponible en https://www.youtube.com/watch?v=2rLHGfM5DDE

Tutorial How to Read an Excel file into R. Disponible en https://www.youtube.com/watch?v=ARt-zxJWXUM

Tutorial R project español Importar archivos (excel, csv, txt…) Disponible en https://www.youtube.com/watch?v=_pSJQO_9I4k