Está en la página 1de 9

Readxl, manual de uso

Introducción
El paquete Readxl, fue creado por el Chief Scientist de RStudio, Hadley Wickham de
nacionalidad neozelandesa, quien actualmente se desempeña como profesor de
estadística en la Universidad de Auckland, Universidad de Standford y la Universidad de
Rice. Igualmente se dedica a construir herramientas computacionales acerca de la ciencia
de datos.

Divide su trabajo en tres categorías principales:


1.- Ciencia de los datos.
2.- Importación de datos.
3.- Ingeniería de software.

Readxl se puede encontrar en la categoría de paquetes de importación de datos y


comparado con diversos paquetes existentes con la misma funcionalidad, tales como: xlsx,
gdata, o xlsReadWrite, no tiene dependencias externas, es fácil de instalar, es compatible
con todos los sistemas operativos y trabaja los datos a partir de tabulaciones de ellos.
Readxl soporta todas las versiones en formato .xls y el formato moderno .xlsx basado en
XML
Como se comenta con anterioridad el nombre de su autor es Hadley Wickham y Jennifer
Bryan quien además se encarga de darle mantenimiento al programa, cuenta con otros
colaboradores como Marcin Kalicinski, autor del código RapidXML y Komarov Valery,
Christophe Leitienne, Bob Colbert, David Hoerl y Evan Miller que son los autores del código
libxls.
Este paquete forma parte de un conjunto de paquetes denominado Tidyverse y unidos
permiten la representación de los datos de distintas formas. A diferencia de Readxl que
requiere una instalación por separado, dichos paquetes se descargan en automático al
instalar Tidyverse y son los siguientes:
• ggplot2. Permite crear gráficos.
• dplyr. Permite la manipulación de datos
• tidyr. Permite ordenar datos.
• readr. Permite hacer lectura de datos csv, tsv y fwf.
• purrr. Mejora las herramientas de programación.
• tibble. Re-imaginación del marco de datos.
• stringr. Proporciona un conjunto de funciones para trabajar con cadenas.
• forcats. Trabaja factores de las variables.

Instalación.

1.- Descarga de paquetes necesarios

Como paso inicial, se tendrá que abrir un R Script (Ctrl + Shift + N), para posteriormente
ejecutar los siguientes comandos e instalar los paquetes: tidyverse, xlsx, readxl, también se
recomienda la instalación de : “rgl, rjava, xlsxjars y ggplot2” para que no exista problema
alguno a la hora de correr los comandos.

Instalando tidyverse

##install.packages("tidyverse")

Instalando readxl

##install.packages ("readxl")

Instalando xlsx

##install.packages ("xlsx")

El siguiente paso, será invocar el software, mediante la siguiente instrucción:

##library("xlsx")

Instalar los paquetes sugeridos de la misma forma

Uso de comandos y cómo utilizarlos


Como es del conocimiento de todos, los archivos que son guardados en Excel, son
guardados con las extensiones .xls y .xlsx (dependiendo de la versión que el usuario tenga).
Para tales efectos, los comandos a ejecutar para llevar a cabo la lectura de los archivos de
Excel son los siguientes:

##Read.xls()
##Read.xlsx2()
Los comandos antes mencionados, son utilizados por R para estar en posibilidad de leer
toda clase de datos contenidos en los archivos de Excel, como ejemplo de la ejecución de
dichos comandos, se muestran los siguientes:

##read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL, startRow=NUL


L, endRow=NULL, colIndex=NULL, as.data.frame=TRUE, header=TRUE, colClasse
s=NA, keepFormulas=FALSE, encoding="unknown", ...)

##read.xlsx2(file, sheetIndex, sheetName=NULL, startRow=1, colIndex=NULL,


endRow=NULL, as.data.frame=TRUE, header=TRUE, colClasses="character", ...
)

En donde los argumentos dados en los comandos, sigifican lo siguiente:

#file Archivo a leer

#sheetIndex Número de la hoja en el archivo

#sheetName Nombre de la hoja en el archivo

#rowIndex Vector numérico que indica las filas que desea extraer.
Si se coloca NULL, todas las filas encontradas se extraerán, a menos que
se especifique startRow o endRow

#colIndex Vector numérico que indica las columnas que desea extrae
r.Si se coloca NULL, se extraerán todas las columnas encontradas

#as.data.frame Valor lógico que indica si el resultado debe ser coaccio


nado en un archivo data.frame. Si es igual a FALSE, el resultado es una
lista con un elemento para cada columna.

#Header Valor lógico que indica si la primera fila correspondiente a


l primer elemento del vector rowIndex contiene los nombres de las variabl
es.

#ColClasses Para read.xlsx un vector de caracteres que representa la


clase de cada columna. Si el vector de caracteres es nombrado, los valore
s no especificados se toman como NA.
#KeepFormulas Valor lógico que indica si las fórmulas de Excel deben m
ostrarse como texto en R y no evaluadas antes de introducirlas.

#Encoding Codificación para las cadenas de entrada.

#StartRow Número que especifica el índice de la fila inicial.


Para read.xlsx este argumento sólo está activo si rowIndex es igual a NUL
L.

#EndRow Número que especifica el índice de la última fila a leer. Si


es NULL, lee todas las filas de la hoja. Para read.xlsx este argumento só
lo está activo si rowIndex es igual a NULL.

Importar archivos de Excel a R


El siguiente ejemplo es la lectura de un archivo de Excel con extensión .xls donde se han
“simulado” a través de números aleatorios entre 1 y 10 las calificaciones anuales de la
materia MCAA que se encuentran en la hoja 1 del archivo de Excel.

library(rgl)
library(rJava)
library(xlsx)
library(xlsxjars)
library(readxl)
library(ggplot2)
Prueba<- read.xlsx("MCAA.xls", sheetIndex = 1,header=TRUE )

read_excel("MCAA.xls", sheet = 1)

## # A tibble: 14 x 7
## `2010` `2011` `2012` `2013` `2014` `2015` `2016`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 4 8 4 2 7 5 5
## 2 8 3 2 8 4 2 3
## 3 2 10 6 8 1 3 5
## 4 9 1 7 7 7 1 3
## 5 5 9 2 8 2 1 3
## 6 8 9 4 2 10 5 10
## 7 1 8 7 8 2 7 1
## 8 8 4 5 10 9 6 4
## 9 3 4 7 8 3 1 2
## 10 9 3 6 2 7 8 3
## 11 4 8 7 4 10 9 6
## 12 4 5 6 7 2 1 3
## 13 8 5 5 2 8 9 10
## 14 10 1 7 10 8 4 2

Exportar un archivo de R a .xlsx


Así como podemos importar un archivo de Excel a R, podemos también exportar archivos
de R a Excel, a continuación detallaremos un ejemplo muy sencillo donde generamos una
secuencia numérica del 1 al 6 en la hoja 1 de un libro de Excel que llamaremos
“ejemplo.xlsx”

x <- seq(1,6)
write.xlsx (x, file= "ejemplo.xlsx", sheetName = "Hoja1")
read.xlsx("ejemplo.xlsx", sheetName = "Hoja1")

## NA. x
## 1 1 1
## 2 2 2
## 3 3 3
## 4 4 4
## 5 5 5
## 6 6 6

En la siguiente imagen se observa la creación del archivo exportado:

En la siguiente imagen observamos el contenido del archivo Excel que exportamos y


llamamos “ejemplo.xlsx”

Edición de datos en un archivo de Excel utilizando R


La edición de datos es también una necesidad para los usuarios de R, en virtud de lo
anterior, al igual que en el apartado que antecede, existe un comando para la edición, el
cual está contenido en las funciones write.xlsx () y write.xlsx2 () mismas que son utilizadas
para exportar datos de R a un libro de Excel.

Los formatos de estas dos funciones son:

##write.xlsx(x, file, sheetName="Sheet1",


##col.names=TRUE, row.names=TRUE, append=FALSE)
##write.xlsx2(x, file, sheetName="Sheet1",
##col.names=TRUE, row.names=TRUE, append=FALSE)

En donde los argumentos dados en los comandos, son los siguientes:

#X Marco de datos que se escribirá en el libro

#File Ruta al archivo de salida

#SheetName Cadena de caracteres a utilizar para el nombre de la hoja.

#Col.names, row.names Valor lógico que especifica si los nombres de


columnas / nombres de filas de x deben escribirse en el archivo

#Append Valor lógico que indica si se debe añadir x a un archivo


existente

Algunos otros comandos para edición de archivos de Excel desde R


Edición de fuente
Comando:

##Font(wb, color=NULL, heightInPoints=NULL, name=NULL, isItalic=FALSE, is


Strikeout=FALSE, isBold=FALSE, underline=NULL, boldweight=NULL)

Argumentos que pueden utilizarse en este comando:


#Wb Objeto de libro de trabajo devuelto por createWorkbook o loadWor
kbook.

#Color Carácter especificando el color de la fuente. Se puede utilizar


cualquier nombre de color devuelto por colores. O, un carácter hexadecima
l, p. "# FF0000" para el rojo.

#HeightInPuntos Valor numérico que especifica la altura de la fuente. Lo


s valores usuales son 10, 12, 14, etc.

#Name Valor de carácter para la fuente a utilizar.

#IsItalic comando que indica que la fuente debe estar en cursiva.

#IsStrikeout comando que indica que la fuente debe ser stiked fuera.

#IsBold Indicación lógica de que la fuente debe estar en negrita.

#Underline Valor numérico especificando el grosor del subrayado. Los va


lores permitidos son 0, 1, 2.

#Boldweight Valor numérico que indica el peso en negrita. Normal es 400,


la negrita regular es 700.

#X Objeto Fuente, como devuelto por Fuente.

Conclusiones
Evidentemente, existen una cantidad importante de comandos a ejecutar, sin embargo,
consideramos que los mostrados en el presente son los que pudieran resultar de mayor
utilidad en el uso del paquete readxl.
La funcionalidad de análisis de datos de ambos programas es diferente, ya que en Excel
los datos se pueden importar, manipular y correlacionar ágilmente, sin embargo a través de
R se puede potencializar el análisis cuantitativo y la presentación eficaz de los datos.
La importación y exportación de archivos de R a Excel y viceversa es una herramienta que
nos permite explotar al máximo lo mejor de dos mundos, donde R tiene más beneficios.
Por ahora, solo queda seguir descubriendo los beneficios y bondades del software R, ya
que para el trabajo que desarrollamos en nuestro día a día herramientas de este estilo, nos
facilitarán en mucho la vida.

Bibliografía y referencias
Importacion de datos de EXCEL con RStudio - Guia Rapida (http://rstudio-pubs-
static.s3.amazonaws.com/253338_f93c4322ee204a1e993a68553abf6d43.html)
Package “readxl” (https://cran.r-project.org/web/packages/readxl/readxl.pdf)
Manual de uso del paquete R xlsx (https://rstudio-pubs-
static.s3.amazonaws.com/252830_80426cf1ea664c0391b98689328aefa3.html)
Readxl part of the tidyverse (https://readxl.tidyverse.org/)