27 dic 2023

Exportar a Excel múltiples data frame de manera simultanea en R

En el siguiente ejemplo mostramos como exportar multiples data frame a Excel de forma simultanea en R. Primero segmentamos la base de datos en varios datos.

iris_setosa <- iris[iris$Species == "setosa",]
iris_setosa <- iris[iris$Species == "versicolor",]
iris_setosa <- iris[iris$Species == "virginica",]

Primero creamos una función que exporta un data frame a R. Teniendo el nombre de la base de datos en formato texto, creamos el nombre con el que vamos a exportar el archivo (que es el mismo nombre del objeto que vamos a exportar: paste0(objeto, ".xlsx")). Posteriormente, exportamos este archico a Excel usando la función write_xlsx del paquete writexl.

exportar_a_excel <- function(objeto) {
  nombre_archivo <- paste0(objeto, ".xlsx")
  writexl::write_xlsx(get(objeto), nombre_archivo)
}

Finalmente, usamos el paquete purr y su función map para aplicar la función que acabamos de crear para múltiples objetos. Primero creamos un vector de caracteres con todos los objetos cuyo nombre inicien con “iris_”, y posteriormente aplicamos la función exportar_a_excel, usando la función map.

library(purrr)
library(writexl)
 
objetos_result <- ls(pattern = "^iris_")
map(objetos_result, exportar_a_excel)

Creando variables por grupos en dplyr (group_by + mutate)

  Simulemos una base de hogares, donde se identifica el hogar, el sexo (1 mujer) y provincia y edad para cada miembro.   # Definir la lista ...