Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dadosdelaplace/pollspain

Private repo for the forthcoming R package
https://github.com/dadosdelaplace/pollspain

Last synced: 17 days ago
JSON representation

Private repo for the forthcoming R package

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# pollspain

## Overview

The goal of pollspain is to ...

## Installation

You can install the development version of R package `{pollspain}` from [GitHub](https://github.com/) through the following code:

```{r eval = FALSE}
install.packages("devtools") # only if not already installed
devtools::install_github("dadosdelaplace/pollspain")
```

```{r echo = FALSE, message = FALSE}
devtools::install_github("dadosdelaplace/pollspain")
```

```{r}
library(pollspain)
library(tidyverse)
```

## Usage

### get functions

#### Censo (nivel: municipal)

Variables relativas a población (`pop_res_mun`, `census_INE_mun`, `census_counting_mun`, `census_CERE_mun`)

```{r}
mun_census_data <- get_mun_census_data("congress", 2019, 4)
mun_census_data
```

#### Datos de mesas electorales (nivel: mesa electoral)

Datos generales de participación, votos en blanco, votos a candidaturas, etc.

```{r}
poll_data <- get_poll_station_data("congress", 2019, c(4, 11))
poll_data
```

#### Datos de candidatos/as (nivel: circunscripción electoral)

Datos de los/as candidatos que forman las listas (por circunscripción provincial en las generales)

```{r}
candidates_data <- get_candidates_data("congress", 2019, c(4, 11))
candidates_data
```

#### Datos de candidaturas (nivel: mesa electoral)

Datos de las candidaturas por mesa electoral, con los votos obtenidos en cada mesa para cada candidatura, así como los electos por provincia obtenidos

```{r}
candidacies_data <- get_candidacies_data("congress", 2019, c(4, 11))
candidacies_data
```

#### Datos del CERA

Según el INE:

«El censo electoral contiene la inscripción de quienes reúnen los requisitos para ser elector y no se hallen privados, definitiva o temporalmente, del derecho de sufragio. El censo electoral está compuesto por:

* El censo electoral de españoles residentes en España (CER).
* El censo electoral de españoles residentes-ausentes que viven en el extranjero (CERA).

El censo electoral de residentes en España que sean nacionales de países con Acuerdos para las elecciones municipales (CERE Acuerdos), y el censo electoral de ciudadanos de la Unión Europea residentes en España para las elecciones municipales y al Parlamento Europeo (CERE UE).»

La función `get_CERA_data()` nos devuelve los datos relativos al CERA

```{r eval = FALSE}
ccaa_CERA_data <- get_CERA_data(election_data, level = "ccaa")
```

#### Datos electorales agregados

La función `get_elections_data()` nos permite obtener los datos electorales de las elecciones pedidas y con el nivel (`level`) de agregación que queramos, pudiendo ser `all`, `ccaa`, `prov`, `mun`, `mun_district`, `sec` (sección censal) y `poll_station` (a nivel de mesa electoral)

```{r}
prov_data <- get_elections_data("congress", year = 2019, month = c(4, 11), level = "prov")
prov_data
```

Esta función combina `get_poll_station_data()` (el dato en bruto por mesa electoral) con `get_CERA_data()` y `aggregate_election_data()`, que nos proporciona la agregación pedida. El código anterior es equivalente a:

```{r}
# Raw data at poll station level
election_data <-
get_poll_station_data("congress", year = 2019, month = c(4, 11))

# and then aggregate at provided level
prov_data <-
election_data |>
aggregate_election_data(level = "prov")
prov_data
```

#### Datos de elecciones

Función principal, combinando la extracción y la agregación

```{r}
national_data <-
get_elections_data("congress", 2019, c(4, 11),
include_candidacies = TRUE, level = "all")
national_data |> arrange(desc(ballots))
```

```{r}
ccaa_data <-
get_elections_data("congress", 2019, c(4, 11),
include_candidacies = TRUE, level = "ccaa")
ccaa_data

prov_data <-
get_elections_data("congress", 2019, c(4, 11),
include_candidacies = TRUE, level = "prov")
prov_data
```

Es lo mismo extraer a nivel municipio que a un nivel más bajo y luego agrupar y sumarizar.

```{r}
mun_data <-
get_elections_data("congress", 2019, c(4, 11),
include_candidacies = TRUE, level = "mun")
mun_data |> filter(date_elec == "2019-04-28" & mun == "Dos Hermanas")

mun_district_data <- get_elections_data("congress", 2019, c(4, 11),
include_candidacies = TRUE,
level = "mun_district")
mun_district_data |>
group_by(id_elec, type_elec, date_elec, cod_INE_mun, mun, id_candidacies) |>
summarise(sum(ballots)) |>
ungroup() |>
filter(date_elec == "2019-04-28" & mun == "Dos Hermanas")
```