alt text
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.
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.
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
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
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")
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
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
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
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.
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