Actualmente, en el manejo de base de datos, el software usado por la gran mayoría de las personas es Microsoft Excel.

He tenido la oportunidad de iniciar a trabajar con R studio en clases de la matería de Métodos Cuantitativos Aplicados a la Administración, de la maestría de Administración con enfoque a las contribuciones.

Esta publicación será enfocada al uso del paquete .xls para importar y exportar archivos de Excel utilizando Rstudio.

Xlsx es uno de los potentes paquetes de R para leer, escribir y formatear archivos de Excel. Es una solución basada en java y está disponible para Windows, Mac y Linux. Funciona tanto para los formatos de archivo Excel (formatos de archivo xls y xlsx).

En CRAN (el repositorio de paquetes R) podemos encontrar múltiples paquetes para trabajar con hojas de cálculo Excel desde R. Uno de ellos es el paquete xlsx, con el que también puede trabajar con hojas de versiones previas de Excel. Para instalar este paquete no tenemos más que facilitar su nombre a install.packages desde la consola de R. Si la configuración del repositorio es correcta, se descargará el paquete y también sus dependencias, quedando instalados y listos para usar.

 

Funciones para manipular las celdas.

 

createCell(row, colIndex=1:5)
getCells(row, colIndex=NULL, simplify=TRUE)
setCellValue(cell, value, richTextString=FALSE, showNA=TRUE)
getCellValue(cell, keepFormulas=FALSE, encoding="unknown")

 

En la siguiente tabla, se muestran las funciones con descripcion:

 

Elementos Concepto
row Una lista de objetos de fila
colIndex Un vector numerico que especifica el indice de columnas
simplify Un valorlogico. Si es VERDAD, el resultado no se mostrara¡ en la lista
value Una variable R de longitud uno
richTextString Un valor logico que indica si el valor debe insertarse en la celda de Excel como texto enriquecido
showNA Valor logico. Si es VERDADERO la celda contendra el valor “#N/A”, Si es Falso, se saltaran. El valor predeterminado se eligira¡ para seguir siendo compatible con las versiones anteriores de la funcion
keepFormulas Un valor logico. Si es VERDADERA las formulas se devuelven como caracteres en lugar de ser evaluadas explicitamente
encoding Un valor de caracter para establecer la codificacion, por ejemplo “
cell Un objeto Cell

 

ejemplo:

 


require(xlsx)
require(rJava)
require(xlsxjars)

file <- system.file("tests", "test_import.xlsx", package = "xlsx") 
wb <-loadWorkbook(file)
sheet <- getSheets(wb)[["deletedFields"]] 
ranges <- getRanges(wb)
# create a new named range
firstCell <- sheet$getRow(14L)$getCell(4L)
lastCell <- sheet$getRow(20L)$getCell(7L)
rangeName <- "Test2"
# same issue on MacOS
#createRange(rangeName, firstCell, lastCell)

Eliminar Campos    

Funciones para manipular filas de una hoja de calculo

 

createCell(row, colIndex=1:5)
getCells(row, colIndex=NULL, simplify=TRUE)
setCellValue(cell, value, richTextString=FALSE, showNA=TRUE)
getCellValue(cell, keepFormulas=FALSE, encoding="unknown")

 

En la siguiente tabla, se muestran las funciones con descripcion:

 

Elementos Concepto
row Una lista de objetos de fila
colIndex Un vector numerico que especifica el indice de columnas
simplify Un valorlogico. Si es VERDAD, el resultado no se mostrara¡ en la lista
value Una variable R de longitud uno
richTextString Un valor logico que indica si el valor debe insertarse en la celda de Excel como texto enriquecido
showNA Valor logico. Si es VERDADERO la celda contendra el valor “#N/A”, Si es Falso, se saltaran. El valor predeterminado se eligira¡ para seguir siendo compatible con las versiones anteriores de la funcion
keepFormulas Un valor logico. Si es VERDADERA las formulas se devuelven como caracteres en lugar de ser evaluadas explicitamente
encoding Un valor de caracter para establecer la codificacion, por ejemplo “
cell Un objeto Cell

 

ejemplo:

 


require(xlsx)
require(rJava)
require(xlsxjars)

file <- system.file("tests", "test_import.xlsx", package = "xlsx") 
wb <-loadWorkbook(file)
sheet <- getSheets(wb)[["deletedFields"]] 
ranges <- getRanges(wb)
# create a new named range
firstCell <- sheet$getRow(14L)$getCell(4L)
lastCell <- sheet$getRow(20L)$getCell(7L)
rangeName <- "Test2"
# same issue on MacOS
#createRange(rangeName, firstCell, lastCell)

!(C:1.png)

   

Funciones para manipular filas de una hoja de calculo

 

createCell(row, colIndex=1:5)
getCells(row, colIndex=NULL, simplify=TRUE)
setCellValue(cell, value, richTextString=FALSE, showNA=TRUE)
getCellValue(cell, keepFormulas=FALSE, encoding="unknown")

 

En la siguiente tabla, se muestran las funciones con descripcion:

 

Elementos Conceptos
sheet Un objeto de hoja de calculo devuelto por createSheet o subconjunto de getSheets
rowIndex Un vector numerico que especifica el indice de filas a crear. Para getRows, un NULL
rows Valor devolverá todas las filas no vacias
inPoints Una lista de objetos de fila
multiplier Un valor numérico para especificar el múltiplo de la altura de fila predeterminada en puntos. Si se establece este valor, tiene prioridad sobre el argumento inPoints
require(xlsx)
require(rJava)
require(xlsxjars)
file <- system.file("tests", "test_import.xlsx", package = "xlsx")
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet <- sheets[[2]]
rows  <- getRows(sheet)  # get all the rows
# see all the available java methods that you can call
#.jmethods(rows[[1]])
# for example
rows[[1]]$getRowNum()   # zero based index in Java
removeRow(sheet, rows)  # remove them all
# create some row
rows  <- createRow(sheet, rowIndex=1:5)
setRowHeight( rows, multiplier=3)  # 3 times bigger rows than the default

 

Funciones para manipular hojas de trabajo

 

createSheet(wb, sheetName="Sheet1")
removeSheet(wb, sheetName="Sheet1")
getSheets(wb)

 

En la siguiente tabla, se muestran las funciones con descripción:

 

Elementos Conceptos
wb Un objeto de libro como devuelto por createWorksheet o loadWorksheet
sheetName Un carácter que especifica el nombre de la hoja de cálculo que se va a crear o quitar

 

Ejemplo

 


require(xlsx)
require(rJava)
require(xlsxjars)

file <- system.file("tests", "test_import.xlsx", package = "xlsx")
wb <- loadWorkbook(file)
sheets <- getSheets(wb)
sheet  <- sheets[[1]]  # extrae los datos de la hoja 1
sheet$getLastRowNum() # Muestra el total re registros que contiene la hoja 1
Conteo registros

Conteo registros

CONCLUSIONES

El importar y exportar archivos de excel a Rstudio con el paquete xlsx, proporciona funcionalidades para realizar análisis estadísticos, diagramas que sólo con las facilidades de Rstudio se pueden obtener. La implementación de Rstudio para cubrir las necesidades de análisis y toma de decisiones da como resultado una mejora en la forma de obtener información verificable, confiable y comparable.