¿Cómo escribir varias hojas de Excel en R?

Utilice el siguiente código para exportar varios objetos DataFrame a un libro de Excel que contenga varias hojas.

Paso 1: Crear una lista de DataFrames

Primero definiremos una lista simple que comprende dos DataFrames que nos gustaría escribir en nuestro archivo de Excel.

hr_list <- list(candidates =                  data.frame (area = c('R', 'Python', 'Power BI'), num_candidates = c(122, 133, 155)),                 hires=                        data.frame (area = c('R', 'Python', 'Power BI'), num_hires = c(23, 27, 31)))  

Paso 2: importa el paquete openxlsx

A continuación nos aseguraremos de que el paquete openxlsx esté instalado en nuestro entorno RStudio. Si no, lo instalaremos:

if (!require(openxlsx)) {   install.packages("openxlsx") }

Paso 3: escribir los marcos de datos en un archivo de Excel

A continuación, crearemos un objeto de libro de trabajo, luego recorreremos la lista de DataFrame y escribiremos cada uno de ellos en una nueva hoja de trabajo.

library(openxlsx)  hr_workbook <- createWorkbook()  for (i in 1:length(hr_list)) {      hr_sheet_name <- paste("WS",i, sep = "-")   addWorksheet(hr_workbook, hr_sheet_name)      writeData(hr_workbook, hr_sheet_name, hr_list[[i]]) } 

Paso 4: Guarde su libro de trabajo

El último paso es definir una ruta en el sistema de archivos para su archivo de Excel y guardar el Libro de trabajo que escribió en el paso anterior.

xlsx_path="hr.xlsx" saveWorkbook(hr_workbook, xlsx_path, overwrite = TRUE)

Overwrite = TRUE permite (si es necesario) suprimir el archivo que existe en el sistema de archivos.

Aquí hay una captura de pantalla del archivo que creamos:

Paso 5: agregar datos a un libro de trabajo existente

Aquí está el código que puede usar para agregar datos adicionales a un libro de trabajo ya existente

attrition = data.frame (area = c('R', 'Python', 'Power BI'), num_attrition = c(2, 3, 6)), hr_workbook<- loadWorkbook(xlsx_path) writeData(hr_workbook, ""Sheet3""WS - 1", attrition) saveWorkbook(hr_workbook, xlsx_path, overwrite = TRUE) 

Aprendizaje sugerido

¿Cómo crear y agregar archivos de texto en RStudio?