Lee los archivos xlsx en R

Gustavo du Mortier 11 marzo 2021
  1. Dejemos que el usuario especifique el archivo a importar
  2. Usa la biblioteca openxlsx para leer el archivo xlsx en R
Lee los archivos xlsx en R

La forma más común de obtener datos de una hoja de cálculo de Excel e importarlos a R es usar Excel para guardar los datos en un formato más convencional, como .csv. Pero si necesita importar archivos xlsx repetidamente, es preferible una opción más rápida, como usar un paquete para importar archivos de Excel directamente a R.

Muchos paquetes en R tienen la capacidad de leer archivos xls/xlsx. Uno de ellos es readxl. Este paquete tiene menos dependencias externas que otros paquetes, lo que hace que sea fácil de instalar en casi cualquier sistema operativo. La forma más directa de agregarlo a tu entorno R es instalar toda la librería tidyverse con el siguiente comando:

install.packages("tidyverse")

Pero como no es una librería tidyverse central, aún así necesita ser cargada explícitamente con el comando library(readxl). Entonces podrás importar un archivo de Excel con la función read_excel, así:

MySheet <- read_excel("ExcelFile.xlsx")

En el ejemplo anterior, importamos el contenido de una hoja de cálculo llamada ExcelFile.xlsx en un DataFrame llamado MySheet.

Dejemos que el usuario especifique el archivo a importar

Si no conoce de antemano la ubicación del archivo de Excel y quiere dejar que el usuario elija el archivo para leerlo, puede usar file.choose() en lugar de especificar explícitamente la ruta del archivo:

MySheet <- read_excel(file.choose())

La función read_excel() tiene otros parámetros para especificar una hoja en particular para importar o especificar un valor que represente NAs en lugar de celdas en blanco. En este ejemplo, estamos importando una hoja llamada data e indicando que las celdas con el contenido NA serán interpretadas como NAs:

MySheet <- read_excel("ExcelFile.xlsx", sheet = "data", na = "NA")

Usa la biblioteca openxlsx para leer el archivo xlsx en R

Otro paquete que puedes usar para leer archivos de Excel en R es openxlsx. Este paquete simplifica la lectura y escritura de archivos xlsx y, como readxl, y no depende de Java, Perl, u otras bibliotecas externas. Usando Rcpp, openxlsx proporciona tiempos rápidos de lectura/escritura incluso para archivos enormes. Esta librería funciona bien con archivos xlsx, pero no soporta archivos xls antiguos.

Openxlsx proporciona la función read.xlsx que crea un DataFrame con los datos leídos del archivo importado. Tiene muchas opciones para especificar si el área a importar contiene nombres de filas y columnas, el nombre o número de la hoja de trabajo a importar, las filas y columnas a importar, entre muchas otras.

En el siguiente ejemplo, instalamos el paquete openxlsx y abrimos la biblioteca. Luego, usamos las opciones de read.xlsx para importar las filas 2, 4 y 6 y las columnas 5 a 7 de la hoja 1 de un archivo llamado Data.xlsx con estos datos:

Sample-Excel

Después de eso, imprimimos el contenido del cuadro de datos resultante en la consola. Como no leemos los nombres de las columnas del archivo, ponemos el parámetro colNames en False. R asignará automáticamente una secuencia de nombres por defecto: X1, X2, X3 a las columnas del DataFrame importado. Note que podemos especificar qué filas y columnas importar, especificándolas con vectores:

install.packages("openxlsx")
library("openxlsx")
MyData <- read.xlsx(xlsxFile="c:/Tmp/Data.xlsx", sheet = 1, rows = c(2, 4, 6), cols = 5:7, colNames = FALSE)
MyData

Producción :

  X1 X2 X3
1 34 12 17
2 15 25 66
3 32 45 56

Para más información, consulte la documentación oficial documentación de openxlsx.