library(sf)
library(mapsPERU)
df <- mapsPERU::map_DIST6 Exportación a Excel
Personalmente, recomendaría almacenar un dataframe en un formato que optimice el espacio a usar en el disco duro; y solo realizar una exportación a un fichero Excel si esto es realmente necesario.
Partamos entonces del hecho que sí necesitamos exportar nuestro dataframe a Excel. Existe más de un par de paquetes que permiten exportar un dataframe a un archivo Excel usando R. En la presente sección mostraremos la exportación con el paquete openxlsx, el cual contiene varias opciones de personalización en la exportación.
Usaremos el dataset map_DIST del paquete mapsPERU. Para poder visualizar correctamente el contenido de este dataset, primero debemos activar el paquete sf, pues el mencionado dataset contiene multipolígonos.
Observamos un resumen de los datos.
library(tidyverse)
glimpse(df)Rows: 1,891
Columns: 13
$ COD_REGION <chr> "010000", "010000", "010000", "010000", "010000", "01…
$ COD_DEPARTAMENTO <chr> "010000", "010000", "010000", "010000", "010000", "01…
$ COD_PROVINCIA <chr> "010100", "010100", "010100", "010100", "010100", "01…
$ COD_DISTRITO <chr> "010101", "010102", "010103", "010104", "010105", "01…
$ REGION <chr> "Amazonas", "Amazonas", "Amazonas", "Amazonas", "Amaz…
$ DEPARTAMENTO <chr> "Amazonas", "Amazonas", "Amazonas", "Amazonas", "Amaz…
$ PROVINCIA <chr> "Chachapoyas", "Chachapoyas", "Chachapoyas", "Chachap…
$ DISTRITO <chr> "Chachapoyas", "Asunción", "Balsas", "Cheto", "Chiliq…
$ REGION_NATURAL <chr> "Sierra", "Sierra", "Selva", "Sierra", "Sierra", "Sie…
$ POBLACION_2025 <dbl> 41843, 269, 1125, 716, 554, 1872, 551, 1538, 3279, 37…
$ coords_x <dbl> -77.8566, -77.7431, -77.9491, -77.6773, -77.7558, -77…
$ coords_y <dbl> -6.2477, -5.9963, -6.8077, -6.2979, -6.0784, -6.9349,…
$ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((-77.8858 -6..., MULTIPOL…
Vamos a generar una pequeña tabla resumen, para mostrar cómo exportarla luego a Excel.
tabla <- df |>
group_by(DEPARTAMENTO, PROVINCIA) |>
summarise(NUM_DIST = n()) # número de distritos
tabla# A tibble: 196 × 3
# Groups: DEPARTAMENTO [25]
DEPARTAMENTO PROVINCIA NUM_DIST
<chr> <chr> <int>
1 Amazonas Bagua 6
2 Amazonas Bongará 12
3 Amazonas Chachapoyas 21
4 Amazonas Condorcanqui 3
5 Amazonas Luya 23
6 Amazonas Rodríguez de Mendoza 12
7 Amazonas Utcubamba 7
8 Apurímac Abancay 9
9 Apurímac Andahuaylas 20
10 Apurímac Antabamba 7
# ℹ 186 more rows
Lo primero es activar el paquete openxlsx
library(openxlsx)Luego, podemos simplemente usar la función write.xlsx y exportar nuestra tabla resumen.
write.xlsx(x=tabla, file="NombreArchivo.xlsx")6.1 Personalizar el encabezado
Con la función createStyle del mismo paquete openxlsx estableceremos los detalles para el encabezado.
estilo <- createStyle(textDecoration="bold", # estilo de texto
fontColour="yellow", # color del texto
fontSize=10, # tamaño del texto
fontName="Arial", # tipo de letra
fgFill="black", # color del fondo
wrapText=T, # texto ajustado
border="TopBottomLeftRight", # borde
halign="center", # alineación horizontal
valign="top" # alineación vertical
)Incluimos el estilo en la opción headerStyle.
write.xlsx(x=tabla,
file="NombreArchivo.xlsx",
headerStyle=estilo)