Introducción

Microsoft Excel es el programa de hoja de cálculo más utilizado que almacena los datos en formato .xls o .xlsx. El lenguaje R, puede leer directamente estos archivos utilizando algunos paquetes específicos para poder ‘conectarse’ a Excel y poder leer los datos desde dicha aplicación, como son XLConnect, xlsx, gdata, etc. En este caso utilizaremos el paquete “xlsx”. El lenguaje R también puede escribir en archivos de Microsoft Excel utilizando este paquete.

Esta publicación será enfocada al uso del paquete “xlsx” para importar y exportar archivos de Microsoft Excel utilizando RStudio1.

“xlsx”" es uno de los potentes paquetes de los que R dispone para leer, escribir y formatear archivos de Micrcosoft Excel. Es una solución basada en Oracle Java y está disponible para Windows, Mac y Linux. Funciona para los archivos de Microsoft Excel con los formatos xls y xlsx.

El CRAN es el repositorio tanto del lenguaje R como de los diversos paquetes que se pueden integrar al lenguaje R.

Instalación del paquete xlsx

La descarga de los paquetes se realiza en R/Rstudio desde CRAN. Para realizar la descarga del paquete “xlsx” y sus dependencias, se puede proceder con alguno de los dos siguientes métodos2:

Método No. 1. Mediante el siguiente comando:
install.packages("xlsx")
Método No. 2. Mediante la interfaz gráfica de RStudio: 
Package -->Install-->Escribir el nombre del paquete xlsx-->dar clic en "Install"

Verificar y realizar la carga del paquete xlsx

Utilice los siguientes comandos para verificar y cargar el paquete “xlsx”.

#Comprobar si el paquete está instalado.
Any (grepl ("xlsx", installed.packages ()))
 
# Cargar la biblioteca/library en el espacio de trabajo (workspace) de R
library("xlsx")

Cuando el script es ejecutado, se obtiene la siguiente salida:

[1] TRUE
Loading required package: rJava
Loading required package: xlsxjars

Fuente de datos de un archivo xlsx

Abrir la aplicación de Microsoft excel y generar un libro nuevo. Copiar y pegar los siguientes datos del tal forma que sean distribuidos por renglón y columna en la hoja de trabajo denominada “Hoja1” o “sheet1” (Dependerá del idioma en el que esté instalado Microsoft Excel).

Consecutivo   Nombre    Salario         Fecha_Contratación     Departamento
1               Juan        6323.30     2011-01-01              Sistemas
2               Susana      5145.20     2012-09-23              Operaciones
3               Monica      6111.00     2013-11-15              Sistemas
4               Pedro       7029.00     2013-05-11              Recursos Humanos
5               Gabriela    4423.25     2016-03-27              Finanzas
6               Norberto    5978.00     2013-05-21              Sistemas
7               Simon       6932.80     2014-07-30              Operaciones
8               Alan        7220.50     2016-06-17              Finanzas

La información deberá desplegarse en Microsoft Excel, como se muesta en la siguiente imagen3 :

Guardar el archivo de Excel como “input.xlsx”. El archivo debe ser guardarlo en el directorio actual de trabajo del espacio de trabajo de R.

Nota1: RStudio es un software ibre el cual consiste en una interfaz gráfica que se interconecta con el Lenguaje R y cuya orientación fundamentalmente es para temas matemáticos y de estadística.

Con RStudio se dispone de un entorno integrado de desarrollo (IDE por sus siglas en inglés) con el cual se pueden realizar diversos cálculos así como la elaboración de múltiples tipos de gráficas. La herramienta está disponible para Windows, MAC OS y LInux.

Nota2: A efectos de realizar la descarga del lenguaje R, RStudio o cualquier paquete de R, Es indispensable y mandatorio que el equipo de cómputo, tenga conexión a internet.

Nota3: El formato de la fecha de la información original y de lo que se despliega en Microsoft Excel, puede variar por la configuración del equipo de cómputo y/o la zona horaria.

Lectura de datos de un archivo de Microsft Excel

El archivo input.xlsx se lee utilizando la función de R que se llama read.xlsx() como se muestra a continuación. El resultado se almacena en una variable en el entorno R.

# Leer la primera hoja de trabajo en el archivo input.xlsx.

data <- read.xlsx("input.xlsx", sheetIndex = 1)
print (data)

Cuando el código anterior es ejecutado, se produce el siguiente resultado:

El paquete “xlsx” permite realizar la ‘extracción’ de datos de archivos de Microsoft Excel y, entre otras actividades, poder realizar cálculos o gráficas según se requiera.

A continuación se muestran dos ejemplos básicos de dichas actividades:

EJEMPLO No. 1 --> Histograma de temperaturas

#Proceder a realizar la invocación de las librerias para 
#el manejo de archivos XLSX y para realizar gráficos
library( rgl)
library( xlsx)
library(xlsxjars)
library( rJava)
library(readxl)
library(ggplot2)

# Realizar la lectura del archivo de Microsoft Excel 
#mediante la función read.xlsx de paquete "xlsx"
temperaturas <- read.xlsx("temperaturas.xlsx", sheetIndex = 1,header=TRUE )

#Obtener la información almacenada en el vector
attach(temperaturas)
print (temperaturas)
summary(temperaturas$Temperatura)

#Mediante el comando 'hist', generar el histograma de la información obtenida de Microsoft Excel
hist(temperaturas$Temperatura, 
     main="Histograma de Temperaturas", 
     xlab="Temperatura en Grados Fahrenheit", 
     ylab="Fecuencia", 
     border="black", 
     col="green",
     xlim=c(10,65),
     las=1, 
     breaks=20)

Gráfica del histograma de temperaturas

EJEMPLO No. 2 --> Utilidad financiera en la Producción de Nitrogeno  

#Proceder a realizar la invocación de las librerias para 
#el manejo de archivos XLSX y para realizar gráficos
library( rgl)
library( xlsx)
library(xlsxjars)
library( rJava)
library(readxl)
library(ggplot2)

# Realizar la lectura del archivo de Microsoft Excel 
#mediante la función read.xlsx de paquete "xlsx"
datos <- read.xlsx("Lightint.xlsx",sheetIndex = 1,header=TRUE )

#Obtener la información almacenada en el vector
attach(datos)
print (datos)

#Ajustar el color del fondo de presentación de la imagen
opar <- par(bg = "white")
par(bg = "cornsilk")

#Mediante el comando 'plot', generar la **gráfica de puntos** 
#de la información obtenida de Microsoft Excel
plot(intensidad,crecimiento, pch=6) 
#Mediante el parámetro **pch** se puede cambiar el tipo de punto

Gráfica de puntos

Referencias

  1. LEARN R PROGRAMMING: R - Excel File
  2. R Markdown
  3. RStudio Formats
  4. R Mackdown Cheat Sheet
  5. R xlsx package
  6. Mastering Markdonwn