Índice

  1. Introducción
  2. Caracteristicas
  3. Instalación
  4. Comandos
  5. Uso de biblioteca
  6. Tips
  7. Conclusiones
  8. Referencias

Introducción

Este paquete se encuentra dentro de la categoría de paquete de importación de datos. Readxl facilita la extracción de datos de Excel y de R, no tiene dependencias externas, por lo que es fácil de instalar y usar en todos los sistemas operativos. Está diseñado para trabajar con datos tabulares almacenados en una sola hoja.

Readxl admite tanto el .xls formato heredado como el formato moderno basado en xml .xlsx. .xls; el soporte es posible con la biblioteca libxls C, que abstrae muchas de las complejidades del formato binario subyacente. Para analizar .xlsx, utilizamos la biblioteca RapidXML C++.

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:

Paquete Función
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.

Características

  • Puede codificar caracteres que no sean de ASCII en UTF-8.

  • Las especificaciones de la fecha de Windows (1900) y Mac (1904) las precesan ya que carga fechas y horas en columnas POSIXct.

  • Devuelve marcos de datos con tbl_dfclase adicional , por lo que si ha cargado dplyr, obtendrá una mejor impresión.

  • Sin dependencia externa de, por ejemplo, Java o Perl.

  • Descubre el rectángulo mínimo de datos y lo devuelve, por defecto. El usuario puede ejercer un mayor control con range, skipy n_max.

  • Los nombres y tipos de columna se determinan a partir de los datos de la hoja, de forma predeterminada. El usuario también puede suministrar a través de col_namesy col_typesy control a través de la reparación nombre .name_repair.

Instalación

  1. La forma mas comun es mediante la última versión lanzada de CRAN, hay que instalar todo el tidyverse:
install.packages ( " tidyverse " )

Link sugerido

PRECAUCIÓN: Tiene que cargar readxl explícitamente, porque no es un paquete tidyverse central cargado a través de:

library(tidyverse)
  1. Puede instalar a traves de la última versión de CRAN con:*
install.packages("readxl")

Link sugerido

  1. O bien, Instale última versión de desarrollo de Github con:
# install.packages("devtools")
devtools::install_github("hadley/readxl")

Link sugerido

Comandos

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 extraer.Si se coloca NULL, se extraerán 
                todas las columnas encontradas

as.data.frame   Valor lógico que indica si el resultado debe ser coaccionado 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 al primer elemento del vector 
                rowIndex contiene los nombres de las variables.

ColClasses      Para read.xlsx un vector de caracteres que representa la clase de cada columna. 
                Si el vector de caracteres es nombrado, los valores no especificados se toman como NA.

KeepFormulas    Valor lógico que indica si las fórmulas de Excel deben mostrarse 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 NULL.

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.

Uso de bilioteca

Puede usar el ayudante de readxl_example() sin argumentos para llamar de forma numerada los archivos de ejemplo, o bien, use readxl_example(“datasets.xlsx”) para obtener la dirección del archivo citado. Para probar esta función, escriba directamente en su R Script los comandos antes mencionados para obtener los resultados en su consola.

Puede leer archivos .xls y .xlsx asi como detectar su extensión con read_excel()

Liste los nombres de las hojas con excel_sheets()

Especifique una hoja de trabajo por nombre o número.

Puede especificar la hoja si proporciona un rango de celdas de estilo Excel.

read_excel ( xlsx_example , n_max  =  3 )
 #> # A tibble: 3 x 5 
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species 
#> <dbl> <dbl> <dbl> <dbl> <chr>   
# > 1 5.1 3.5 1.4 0.2 setosa 
#> 2 4.9 3 1.4 0.2 setosa 
#> 3 4.7 3.2 1.3 0.2 setosa 
read_excel ( xlsx_example , range  =  "C1: E4" )
 #> # A tibble: 3 x 3 
#> Petal.Length Petal Ancho de especie 
#> <dbl> <dbl> <  chr>
#> 1 1.4 0.2 setosa 
#> 2 1.4 0.2 setosa 
#> 3 1.3 0.2 setosa 
read_excel ( xlsx_example , range  =  cell_rows ( 1 : 4 ))
 #> # A tibble: 3 x 5 
#> Sepal.Length Sepal.Width Petal. Longitud Pétalo Ancho Ancho 
#> <dbl> <dbl> <dbl> <dbl> <chr>   
#> 1 5.1 3.5 1.4 0.2 setosa 
#> 2 4.9 3 1.4 0.2 setosa 
#> 3 4.7 3.2 1.3 0.2 setosa 
read_excel ( xlsx_example ,rango =  cell_cols ( "B: D" ))
 #> # A tibble: 150 x 3 
#> Sepal.Width Petal.Length Petal.Width 
#> <dbl> <dbl> <dbl> 
#> 1 3.5 1.4 0.2 
#> 2 3 1.4 0.2 
#> 3 3.2 1.3 0.2 
#> #… con 147 filas más 
read_excel ( xlsx_example , range  =  "mtcars! B1: D5" )
 #> # A Tibble: 4 x 3 
#> cyl disp hp 
#> <dbl> <dbl> <dbl> 
#> 1 6160110 
#> 2 6160110 
#> 3 4108 93 
#># ... con 1 fila más

Tips

Los NA están representados por algo diferente a las celdas en blanco, establezca el (na = " ") argumento para omitir columnas.

  1. Asignaremos al parámetro col_types un vector de texto indicando el tipo de datos que contiene cada columna. Podemos elegir entre los valores “numeric”, “text”, “date” o “blank”, usando un valor para cada columna. De este modo, elegiremos “date” para la columna fecha y “numeric” para las demás.

  2. Si deseamos que una columna sea omitida al importar una hoja, le asignamos el valor “blank” a col_types. Esto es lo que haremos con la primera columna y las columnas sin datos.

Conclusión

Realxl es una libreria que es parte de tidyverse, la cual como vimos a groso modo, nos ofrece una serie de oportunidades para la exportacion de datos .xls y .xlsx asi como la manipulación de los mismos

Existen una cantidad importante de comandos a ejecutar, sin embargo, en este manual se consideraron los que pueden resultar de mayor utilidad en el uso de este paquete readxl.

Referencias