spain2Rep ofrece acceso programático a datos electorales
y contextuales del Atlas
Electoral de la Segunda República Española (1931–1936). El paquete
está diseñado para ser sencillo: una función principal para cargar y
filtrar los datos, y una función de representación gráfica para crear
mapas rápidamente.
Antes de cargar cualquier dato, se puede consultar qué años, distritos y comunidades autónomas cubre actualmente el paquete:
meta <- rep_metadata()
meta$available_years # años electorales, por nivel
#> $municipality
#> [1] 1936
#>
#> $district
#> [1] 1931 1933 1936
meta$available_referendums # años de referéndums
#> [1] 1936
meta$regions
#> [1] "Andalucía" "Aragón"
#> [3] "Asturias (Principado de )" "Balears (Illes)"
#> [5] "Canarias" "Cantabria"
#> [7] "Castilla y León" "Castilla-La Mancha"
#> [9] "Cataluña" "Ceuta"
#> [11] "Comunitat Valenciana" "Extremadura"
#> [13] "Galicia" "Madrid (Comunidad de )"
#> [15] "Melilla" "Murcia (Región de )"
#> [17] "Navarra (Comunidad Foral de )" "País Vasco"
#> [19] "Rioja (La)"rep_data() cubre dos niveles geográficos para los datos
electorales, seleccionables mediante el argumento
level:
level = "municipality" (por defecto) — una fila por
municipio, año 1936.level = "district" — una fila por distrito electoral,
años 1931, 1933 y 1936 (1931 y 1933 solo están disponibles a nivel de
distrito). Se puede indicar detail = "candidates" para
obtener una fila por candidato individual en lugar de cuotas de voto
agrupadas por plataforma (sin soporte de geometría en ese caso).rep_data() sin argumentos devuelve el conjunto de datos
municipal más reciente en forma de tibble:
data <- rep_data()
glimpse(data)
#> Rows: 8,853
#> Columns: 129
#> $ cod_muni <chr> "03002", "03003…
#> $ region <chr> "Comunitat Vale…
#> $ cod_ccaa <chr> "10", "10", "10…
#> $ prov <chr> "Alicante/Alaca…
#> $ cod_prov <chr> "03", "03", "03…
#> $ prov_cap <dbl> 0, 0, 0, 0, 0, …
#> $ island <chr> NA, NA, NA, NA,…
#> $ PJ <chr> "Novelda", "Coc…
#> $ PJ_cap <dbl> 0, 0, 0, 0, 0, …
#> $ elect_round <dbl> 1, 1, 1, 1, 1, …
#> $ year <dbl> 1936, 1936, 193…
#> $ date <chr> "1936/02/16 00:…
#> $ district <chr> "Alicante", "Al…
#> $ total_seats <dbl> 11, 11, 11, 11,…
#> $ majority_seats <dbl> 8, 8, 8, 8, 8, …
#> $ mun <chr> "Agost", "Agres…
#> $ elect <dbl> NA, NA, NA, NA,…
#> $ votant <dbl> NA, NA, NA, NA,…
#> $ elect_est <dbl> 1555, 681, 582,…
#> $ turnout_real <dbl> NA, NA, NA, NA,…
#> $ turnout_est <dbl> 71.19, 76.67, 8…
#> $ total_votes <dbl> 8856, 4177, 380…
#> $ total_sections <dbl> 4, 2, 2, 2, 1, …
#> $ missing_sections <dbl> 0, 0, 0, 0, 0, …
#> $ completeness_pct <dbl> 100, 100, 100, …
#> $ data_source <chr> "ACD", "ACD", "…
#> $ first_platform <chr> "left_coalition…
#> $ sum_votes_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_other <dbl> 52, 26, 9, 0, 0…
#> $ sum_votes_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ sum_votes_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ sum_votes_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_otros <dbl> NA, NA, NA, NA,…
#> $ sum_votes_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ sum_votes_left_coalition <dbl> 5395, 2144, 263…
#> $ sum_votes_right_coalition <dbl> 3409, 2007, 116…
#> $ sum_votes_centrist_platforms <dbl> 0, 0, 1, 19, 0,…
#> $ sum_votes_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ sum_votes_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ mean_votes_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_other <dbl> 17.33, 8.67, 3.…
#> $ mean_votes_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ mean_votes_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ mean_votes_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_otros <dbl> NA, NA, NA, NA,…
#> $ mean_votes_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ mean_votes_left_coalition <dbl> 674.38, 268.00,…
#> $ mean_votes_right_coalition <dbl> 426.12, 250.88,…
#> $ mean_votes_centrist_platforms <dbl> 0, 0, 1, 19, 0,…
#> $ mean_votes_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ mean_votes_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_original_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_other <dbl> NA, NA, NA, NA,…
#> $ pct_original_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ pct_original_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_original_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_otros <dbl> NA, NA, NA, NA,…
#> $ pct_original_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ pct_original_left_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_original_right_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_original_centrist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_original_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_other <dbl> 0.59, 0.62, 0.2…
#> $ pct_sumbased_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_otros <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_left_coalition <dbl> 60.92, 51.33, 6…
#> $ pct_sumbased_right_coalition <dbl> 38.49, 48.05, 3…
#> $ pct_sumbased_centrist_platforms <dbl> 0.00, 0.00, 0.0…
#> $ pct_sumbased_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_sumbased_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_other <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_otros <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_left_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_right_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_centrist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_meanbased_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_combined_center_right_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_communist_and_other_lw_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_left_wing_republican_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_other <dbl> 0.59, 0.62, 0.2…
#> $ pct_combined_right_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_right_wing_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_socialist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_blank_and_null <dbl> NA, NA, NA, NA,…
#> $ pct_combined_left_wing_republican_socialist_coalition <dbl> NA, NA, NA, NA,…
#> $ pct_combined_left_wing_regionalist_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_otros <dbl> NA, NA, NA, NA,…
#> $ pct_combined_basque_nat_coal <dbl> NA, NA, NA, NA,…
#> $ pct_combined_left_coalition <dbl> 60.92, 51.33, 6…
#> $ pct_combined_right_coalition <dbl> 38.49, 48.05, 3…
#> $ pct_combined_centrist_platforms <dbl> 0.00, 0.00, 0.0…
#> $ pct_combined_socialist_led_platforms <dbl> NA, NA, NA, NA,…
#> $ pct_combined_republican_socialist_coalition <dbl> NA, NA, NA, NA,…El objeto tiene una fila por municipio. Las columnas principales incluyen:
| Columna | Descripción |
|---|---|
cod_muni |
Código INE del municipio |
mun |
Nombre del municipio |
district |
Circunscripción electoral |
region |
Comunidad autónoma |
turnout_real |
Participación observada (0–100) |
pct_combined_left_coalition |
Cuota de voto de la coalición de izquierda (0–100) |
pct_combined_right_coalition |
Cuota de voto de la coalición de derecha (0–100) |
first_platform |
Coalición con mayor cuota de voto |
Con los datos de 1936 podemos observar la distribución de la participación en todos los municipios. Nótese que la participación falta en aquellos municipios cuyos registros electorales aún no se han recuperado.
ggplot(data_1936, aes(x = turnout_real)) +
geom_histogram(bins = 40, fill = "steelblue", colour = "white", na.rm = TRUE) +
labs(
x = "Participación",
y = "Número de municipios",
title = "Distribución de la participación entre municipios, 1936"
) +
theme_minimal()barcelona <- rep_data(district = "Barcelona_capital")
select(barcelona, mun, turnout_real,
pct_combined_left_coalition, pct_combined_right_coalition,
first_platform)
#> # A tibble: 4 × 5
#> mun turnout_real pct_combined_left_co…¹ pct_combined_right_c…²
#> <chr> <dbl> <dbl> <dbl>
#> 1 Sant Adrià de Besòs NA 74.3 25.6
#> 2 Santa Coloma de Gr… NA 75.6 24.3
#> 3 Badalona NA 66.2 33.8
#> 4 Barcelona 67.8 62.6 37.3
#> # ℹ abbreviated names: ¹pct_combined_left_coalition,
#> # ²pct_combined_right_coalition
#> # ℹ 1 more variable: first_platform <chr>El distrito Barcelona_capital comprendía cuatro
municipios. Podemos comparar las cuotas de voto de las dos principales
coaliciones lado a lado:
barcelona_long <- bind_rows(
mutate(barcelona, coalition = "Izquierda", pct = pct_combined_left_coalition),
mutate(barcelona, coalition = "Derecha", pct = pct_combined_right_coalition)
)
ggplot(barcelona_long, aes(x = reorder(mun, pct), y = pct, fill = coalition)) +
geom_col(position = "dodge") +
scale_fill_manual(values = c(Izquierda = "#d73027", Derecha = "#4575b4")) +
scale_y_continuous(labels = function(x) paste0(round(x), "%")) +
coord_flip() +
labs(
x = NULL,
y = "Cuota de voto",
fill = NULL,
title = "Cuotas de voto de las coaliciones en el distrito de Barcelona capital, 1936"
) +
theme_minimal() +
theme(legend.position = "top")rep_data() devuelve un tibble estándar, por lo que se
integra de forma natural con dplyr y el operador pipe
nativo:
rep_data(year = 1936) |>
filter(turnout_real > 75) |>
select(mun, district, region, turnout_real) |>
arrange(desc(turnout_real)) |>
head(10)
#> # A tibble: 10 × 4
#> mun district region turnout_real
#> <chr> <chr> <chr> <dbl>
#> 1 Valdeavero Madrid_provincia Madrid (Comunidad de ) 100
#> 2 Santa Eulalia Bajera Logroño Rioja (La) 100
#> 3 Canejan Lleida Cataluña 100
#> 4 Sarroca de Segre Lleida Cataluña 100
#> 5 Alcanó Lleida Cataluña 100
#> 6 Sant Pere dels Arquells Lleida Cataluña 100
#> 7 Abella de la Conca Lleida Cataluña 100
#> 8 Villanueva la Condesa Valladolid Castilla y León 100
#> 9 Pías Zamora Castilla y León 100
#> 10 Otero de Centenos Zamora Castilla y León 100Si se proporciona una combinación de distrito y comunidad autónoma incoherente, el paquete genera un error informativo:
Con geometry = TRUE se obtiene un objeto sf
con los polígonos municipales ya unidos a los datos electorales, sin
necesidad de cargar manualmente ningún shapefile.
map_data <- rep_data(year = 1936, geometry = TRUE)
class(map_data)
#> [1] "sf" "data.frame"
dim(map_data) # filas = municipios, columnas = variables + geometría
#> [1] 8853 130El objeto sf se puede pasar directamente a
rep_plot() para obtener un mapa coroplético listo para
publicar. Los municipios sin datos aparecen en gris; cuando la ausencia
de datos se concentra en una zona, esa mancha gris puede dar la
impresión de que el shapefile está recortado en lugar de simplemente
carecer de valores ahí. Con district_borders = TRUE se
superponen los contornos de los distritos electorales (correspondientes
al año de los datos) como referencia visual, de modo que quede claro que
esa zona forma parte del mapa. Aquí representamos la cuota de voto de la
coalición de izquierda en todos los municipios:
rep_plot(
map_data,
variable = "pct_combined_left_coalition",
title = "Cuota de voto de la coalición de izquierda, 1936",
district_borders = TRUE
)También podemos representar first_platform — la
coalición más votada en cada municipio — para ver de un vistazo la
división geográfica:
rep_plot(
map_data,
variable = "first_platform",
title = "Coalición ganadora por municipio, 1936",
district_borders = TRUE
) +
scale_fill_manual(
values = c(
left_coalition = "#c0392b",
right_coalition = "#2980b9",
centrist_platforms = "#e67e22",
basque_nat_coal = "#27ae60",
other = "#8e44ad",
`No data` = "grey85"
),
labels = c(
left_coalition = "Coalición de izquierda",
right_coalition = "Coalición de derecha",
centrist_platforms = "Centrista",
basque_nat_coal = "Nacionalista vasca",
other = "Otros",
`No data` = "Sin datos"
)
)
#> Scale for fill is already present.
#> Adding another scale for fill, which will replace the existing scale.El filtrado espacial funciona igual que el filtrado tabular. Aquí nos
centramos en Cataluña y representamos la participación;
district_borders = TRUE mantiene el mapa correctamente
centrado en Cataluña en lugar de volver a mostrar toda España:
rep_data(year = 1936, region = "Cataluña", geometry = TRUE) |>
rep_plot(
variable = "turnout_real",
title = "Participación en Cataluña, 1936",
district_borders = TRUE
)Como rep_plot() devuelve un objeto ggplot,
se puede ampliar con cualquier capa de ggplot2:
rep_plot(
map_data,
variable = "turnout_real",
title = "Participación, 1936",
district_borders = TRUE
) +
theme_void() +
theme(legend.position = "bottom")Además de los resultados a nivel municipal, el paquete incluye las
cuotas de voto de cada distrito electoral
(circunscripción). Es el único nivel en el que están
disponibles los datos de 1931 y 1933, ya que los resultados a nivel
municipal solo están disponibles actualmente para 1936.
dist_1931 <- rep_data(year = 1931, level = "district")
glimpse(dist_1931)
#> Rows: 63
#> Columns: 90
#> $ region <chr> "Comunitat…
#> $ cod_ccaa <dbl> 10, 8, 1, …
#> $ prov <chr> "Alicante/…
#> $ cod_prov <chr> "03", "02"…
#> $ year <dbl> 1931, 1931…
#> $ date <date> 1931-06-2…
#> $ election_round <dbl> 1, 1, 1, 1…
#> $ district <chr> "Alicante"…
#> $ total_seats <dbl> 11, 7, 7, …
#> $ majority_seats <dbl> 8, 5, 5, 1…
#> $ elect <dbl> 159932, 86…
#> $ votant <dbl> 111186, 62…
#> $ turnout <dbl> 69.52, 71.…
#> $ total_votes <dbl> 839236, 28…
#> $ data_source <chr> "Credentia…
#> $ sum_votes_left_wing_republican_socialist_coalition <dbl> 507108, NA…
#> $ sum_votes_right_wing_platforms <dbl> NA, 19143,…
#> $ sum_votes_right_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ sum_votes_broad_republican_socialist_coalition <dbl> NA, 216962…
#> $ sum_votes_center_right_republican_platforms <dbl> 237769, 28…
#> $ sum_votes_left_wing_republican_platforms <dbl> 46254, 232…
#> $ sum_votes_other <dbl> 48105, 387…
#> $ sum_votes_socialist_platforms <dbl> NA, NA, 61…
#> $ sum_votes_communist_and_other_lw_platforms <dbl> NA, NA, NA…
#> $ sum_votes_left_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ sum_votes_otros <dbl> NA, NA, NA…
#> $ sum_votes_basque_nat_coal <dbl> NA, NA, NA…
#> $ sum_votes_left_coalition <dbl> NA, NA, NA…
#> $ sum_votes_right_coalition <dbl> NA, NA, NA…
#> $ sum_votes_centrist_platforms <dbl> NA, NA, NA…
#> $ mean_votes_left_wing_republican_socialist_coalition <dbl> 63388.50, …
#> $ mean_votes_right_wing_platforms <dbl> NA, 6381.0…
#> $ mean_votes_right_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ mean_votes_broad_republican_socialist_coalition <dbl> NA, 43392.…
#> $ mean_votes_center_right_republican_platforms <dbl> 29721.12, …
#> $ mean_votes_left_wing_republican_platforms <dbl> 11563.50, …
#> $ mean_votes_other <dbl> 8017.50, 3…
#> $ mean_votes_socialist_platforms <dbl> NA, NA, 12…
#> $ mean_votes_communist_and_other_lw_platforms <dbl> NA, NA, NA…
#> $ mean_votes_left_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ mean_votes_otros <dbl> NA, NA, NA…
#> $ mean_votes_basque_nat_coal <dbl> NA, NA, NA…
#> $ mean_votes_left_coalition <dbl> NA, NA, NA…
#> $ mean_votes_right_coalition <dbl> NA, NA, NA…
#> $ mean_votes_centrist_platforms <dbl> NA, NA, NA…
#> $ pct_sumbased_left_wing_republican_socialist_coalition <dbl> 60.42, NA,…
#> $ pct_sumbased_right_wing_platforms <dbl> NA, 6.65, …
#> $ pct_sumbased_right_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ pct_sumbased_broad_republican_socialist_coalition <dbl> NA, 75.33,…
#> $ pct_sumbased_center_right_republican_platforms <dbl> 28.33, 9.8…
#> $ pct_sumbased_left_wing_republican_platforms <dbl> 5.51, 8.06…
#> $ pct_sumbased_other <dbl> 5.73, 0.13…
#> $ pct_sumbased_socialist_platforms <dbl> NA, NA, 23…
#> $ pct_sumbased_communist_and_other_lw_platforms <dbl> NA, NA, NA…
#> $ pct_sumbased_left_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ pct_sumbased_otros <dbl> NA, NA, NA…
#> $ pct_sumbased_basque_nat_coal <dbl> NA, NA, NA…
#> $ pct_sumbased_left_coalition <dbl> NA, NA, NA…
#> $ pct_sumbased_right_coalition <dbl> NA, NA, NA…
#> $ pct_sumbased_centrist_platforms <dbl> NA, NA, NA…
#> $ pct_meanbased_left_wing_republican_socialist_coalition <dbl> 57.01, NA,…
#> $ pct_meanbased_right_wing_platforms <dbl> NA, 10.28,…
#> $ pct_meanbased_right_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ pct_meanbased_broad_republican_socialist_coalition <dbl> NA, 69.89,…
#> $ pct_meanbased_center_right_republican_platforms <dbl> 26.73, 9.1…
#> $ pct_meanbased_left_wing_republican_platforms <dbl> 10.40, 18.…
#> $ pct_meanbased_other <dbl> 7.21, 0.62…
#> $ pct_meanbased_socialist_platforms <dbl> NA, NA, 21…
#> $ pct_meanbased_communist_and_other_lw_platforms <dbl> NA, NA, NA…
#> $ pct_meanbased_left_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ pct_meanbased_otros <dbl> NA, NA, NA…
#> $ pct_meanbased_basque_nat_coal <dbl> NA, NA, NA…
#> $ pct_meanbased_left_coalition <dbl> NA, NA, NA…
#> $ pct_meanbased_right_coalition <dbl> NA, NA, NA…
#> $ pct_meanbased_centrist_platforms <dbl> NA, NA, NA…
#> $ elected_candidates_left_wing_republican_socialist_coalition <dbl> 8, NA, NA,…
#> $ elected_candidates_right_wing_platforms <dbl> NA, 0, 0, …
#> $ elected_candidates_right_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ elected_candidates_broad_republican_socialist_coalition <dbl> NA, 5, NA,…
#> $ elected_candidates_center_right_republican_platforms <dbl> 3, 0, 1, N…
#> $ elected_candidates_left_wing_republican_platforms <dbl> 0, 1, 4, N…
#> $ elected_candidates_other <dbl> 0, 0, 0, N…
#> $ elected_candidates_socialist_platforms <dbl> NA, NA, 2,…
#> $ elected_candidates_communist_and_other_lw_platforms <dbl> NA, NA, NA…
#> $ elected_candidates_left_wing_regionalist_platforms <dbl> NA, NA, NA…
#> $ elected_candidates_otros <dbl> NA, NA, NA…
#> $ elected_candidates_basque_nat_coal <dbl> NA, NA, NA…
#> $ elected_candidates_left_coalition <dbl> NA, NA, NA…
#> $ elected_candidates_right_coalition <dbl> NA, NA, NA…
#> $ elected_candidates_centrist_platforms <dbl> NA, NA, NA…Las columnas de cuotas de voto a nivel de distrito siguen la misma
convención de nomenclatura
<estadístico>_<plataforma> que a nivel
municipal, pero usan pct_sumbased_<plataforma> en
lugar de pct_combined_<plataforma> (no existe la
variante pct_original/ pct_combined a nivel de
distrito):
dist_1931 |>
select(district, starts_with("pct_sumbased_")) |>
pivot_longer(starts_with("pct_sumbased_"), names_prefix = "pct_sumbased_",
names_to = "platform", values_to = "pct") |>
filter(!is.na(pct), pct > 0) |>
ggplot(aes(x = reorder(district, pct, FUN = max), y = pct, fill = platform)) +
geom_col() +
coord_flip() +
labs(x = NULL, y = "Cuota de voto", fill = "Plataforma",
title = "Cuotas de voto por distrito, 1931") +
theme_minimal() +
theme(legend.position = "bottom", axis.text.y = element_text(size = 5))Con geometry = TRUE se obtienen los polígonos de los
distritos para representarlos en un mapa, igual que a nivel
municipal:
dist_1931_map <- rep_data(year = 1931, level = "district", geometry = TRUE)
rep_plot(
dist_1931_map,
variable = "pct_sumbased_broad_republican_socialist_coalition",
title = "Cuota de voto de la coalición republicano-socialista por distrito, 1931"
)Para un análisis más detallado, detail = "candidates"
devuelve una fila por candidato individual (sin geometría, ya que un
mapa coroplético necesita un único valor por polígono):
candidates_1936 <- rep_data(year = 1936, level = "district", detail = "candidates")
candidates_1936 |>
filter(district == "Barcelona_provincia") |>
select(full_cand_name, party_short, platform_summ, votes, elected_status) |>
arrange(desc(votes)) |>
head(10)
#> # A tibble: 10 × 5
#> full_cand_name party_short platform_summ votes elected_status
#> <chr> <chr> <chr> <dbl> <chr>
#> 1 Juan Lluhí Vallescá PNRE left_coalition 196613 elected_first_rou…
#> 2 Eduardo Ragasol Serrá ACR left_coalition 196326 elected_first_rou…
#> 3 José Tomás Piera ERC left_coalition 196057 elected_first_rou…
#> 4 Pedro Mestres Albet ERC left_coalition 196028 elected_first_rou…
#> 5 Francisco Senyal Ferrer ERC left_coalition 195906 elected_first_rou…
#> 6 Domingo Palet Barba ERC left_coalition 195880 elected_first_rou…
#> 7 José Antonio Trabal Sans ERC left_coalition 195680 elected_first_rou…
#> 8 Pablo Padró Canyellas II left_coalition 195423 elected_first_rou…
#> 9 José Calvet Mora II left_coalition 195319 elected_first_rou…
#> 10 Jaime Comas Jo USC left_coalition 194986 elected_first_rou…Además de los resultados electorales, el paquete incluye datos de referéndums. El referéndum disponible es el del Estatuto de Autonomía de Galicia de 1936, que cubre 335 municipios de A Coruña, Lugo, Ourense y Pontevedra.
Se utiliza type = "referendum" para acceder a él:
ref <- rep_data(year = 1936, type = "referendum")
glimpse(ref)
#> Rows: 335
#> Columns: 9
#> $ cod_muni <chr> "15001", "15002", "15003", "15004", "15005", "15006", "15…
#> $ municipality <chr> "Abegondo", "Ames", "Aranga", "Ares", "Arteijo", "Arzua",…
#> $ province <chr> "A Coruña", "A Coruña", "A Coruña", "A Coruña", "A Coruña…
#> $ region <chr> "Galicia", "Galicia", "Galicia", "Galicia", "Galicia", "G…
#> $ year <int> 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 193…
#> $ perc_ayes <dbl> NA, 100.00, 99.05, 99.92, 98.90, NA, NA, 99.66, 100.00, N…
#> $ perc_nay <dbl> NA, 0.00, 0.95, 0.08, 1.10, NA, NA, 0.17, 0.00, NA, NA, 0…
#> $ perc_blank <dbl> NA, 0.00, 0.00, 0.00, 0.00, NA, NA, 0.17, 0.00, NA, NA, 0…
#> $ perc_turnout <dbl> NA, 93.41, 89.00, 92.71, 88.26, NA, NA, 43.27, 70.65, NA,…Las columnas principales difieren de los datos electorales:
| Columna | Descripción |
|---|---|
cod_muni |
Código INE del municipio |
municipality |
Nombre del municipio |
province |
Provincia (A Coruña, Lugo, Ourense, Pontevedra) |
region |
Comunidad autónoma ("Galicia") |
perc_ayes |
Porcentaje a favor |
perc_nay |
Porcentaje en contra |
perc_blank |
Porcentaje de votos en blanco |
perc_turnout |
Porcentaje de participación |
El resultado fue un respaldo abrumador al estatuto. Podemos observar la distribución del apoyo entre los municipios:
ggplot(ref, aes(x = perc_ayes)) +
geom_histogram(bins = 30, fill = "#27ae60", colour = "white", na.rm = TRUE) +
labs(
x = "% de votos a favor",
y = "Número de municipios",
title = "Apoyo al Estatuto de Galicia por municipio, 1936"
) +
theme_minimal()Los datos de referéndums también admiten
geometry = TRUE. 21 de los 335 municipios no tienen
geometría incluida (anexionados por un municipio vecino antes de 1936,
creados después de 1936, o no resolubles de otro modo a un polígono del
shapefile de 1930), por lo que se excluyen del mapa pero se mantienen en
los datos tabulares:
ref_map <- rep_data(year = 1936, type = "referendum", geometry = TRUE)
rep_plot(
ref_map,
variable = "perc_ayes",
title = "Apoyo al Estatuto de Galicia, 1936",
district_borders = TRUE
)Si utiliza este paquete en su investigación, cite tanto el paquete como el Atlas Electoral de la Segunda República Española:
El proyecto del Atlas Electoral está documentado en https://www.tonirodon.cat/second-republic-atlas/en/.