From d5d85bcb1be61a54fbdfa52390843c26d564c1db Mon Sep 17 00:00:00 2001 From: Meleiro Date: Fri, 8 Mar 2024 13:51:06 +0100 Subject: [PATCH] Modifications, examples and tests to submit to CRAN --- DESCRIPTION | 18 ++++-- NAMESPACE | 3 +- R/candidatos.R | 2 + R/candidatos_nosenado.R | 52 +++++++++-------- R/data.R | 14 +++++ R/examples/candidatos.R | 5 ++ R/examples/mesas.R | 4 ++ R/examples/municipios.R | 4 ++ R/examples/provincias.R | 4 ++ R/mesas.R | 50 ++++++++-------- R/muni.R | 42 +++++++------- R/provincias.R | 42 +++++++------- R/senado_mesas.R | 95 +++++++++++++++---------------- R/senado_municipios.R | 89 ++++++++++++++--------------- data/fechas_elecciones.RData | Bin 0 -> 414 bytes man/candidatos.Rd | 7 +++ man/fechas_elecciones.Rd | 25 ++++++++ man/mesas.Rd | 6 ++ man/municipios.Rd | 6 ++ man/provincias.Rd | 6 ++ tests/testthat.R | 12 ++++ tests/testthat/test-candidatos.R | 26 +++++++++ tests/testthat/test-mesas.R | 26 +++++++++ tests/testthat/test-municipios.R | 27 +++++++++ tests/testthat/test-provincias.R | 29 ++++++++++ vignettes/municipios.Rmd | 2 +- 26 files changed, 406 insertions(+), 190 deletions(-) create mode 100644 R/examples/candidatos.R create mode 100644 R/examples/mesas.R create mode 100644 R/examples/municipios.R create mode 100644 R/examples/provincias.R create mode 100644 data/fechas_elecciones.RData create mode 100644 man/fechas_elecciones.Rd create mode 100644 tests/testthat.R create mode 100644 tests/testthat/test-candidatos.R create mode 100644 tests/testthat/test-mesas.R create mode 100644 tests/testthat/test-municipios.R create mode 100644 tests/testthat/test-provincias.R diff --git a/DESCRIPTION b/DESCRIPTION index e0213b7..30f986e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,15 +2,25 @@ Package: infoelectoral Type: Package Title: Download Spanish Election Results Version: 1.0.0 -Author: Héctor Meleiro +Authors@R: + person("Héctor", "Meleiro", + email = "hmeleiros@gmail.com", + role = c("aut", "cre")) Maintainer: Héctor Meleiro -Description: Download official election results for Spain at polling station, municipality and province level from the Ministry of Interior, format them and import them to the R environment. +Description: Download official election results for Spain at polling station, municipality and province level from the Ministry of Interior (), format them and import them to the R environment. Depends: R (>= 3.5.0) License: GPL-2 URL: https://github.com/rOpenSpain/infoelectoral Encoding: UTF-8 LazyData: true -Imports: rlang (>= 0.4.0), dplyr (>= 1.0.0), stringr (>= 1.0.0) -Suggests: mapSpain, tmap, tidyr, preferably, knitr +Imports: dplyr (>= 1.0.0), stringr (>= 1.0.0) +Suggests: + mapSpain, + tmap, + tidyr, + preferably, + knitr, + testthat (>= 3.0.0) RoxygenNote: 7.2.3 VignetteBuilder: knitr +Config/testthat/edition: 3 diff --git a/NAMESPACE b/NAMESPACE index 727c884..97c58e4 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -7,15 +7,14 @@ export(provincias) importFrom(dplyr,"%>%") importFrom(dplyr,arrange) importFrom(dplyr,bind_rows) +importFrom(dplyr,desc) importFrom(dplyr,full_join) importFrom(dplyr,left_join) importFrom(dplyr,mutate) importFrom(dplyr,mutate_if) importFrom(dplyr,relocate) importFrom(dplyr,select) -importFrom(rlang,.data) importFrom(stringr,str_remove_all) importFrom(stringr,str_trim) -importFrom(utils,data) importFrom(utils,download.file) importFrom(utils,unzip) diff --git a/R/candidatos.R b/R/candidatos.R index d9352f5..6d55cb0 100644 --- a/R/candidatos.R +++ b/R/candidatos.R @@ -7,6 +7,8 @@ #' @param mes The month of the election in MM format. #' @param nivel The administrative level for which the data is wanted ("mesa" for polling stations or "municipio" for municipalities). Only necessary when tipo_eleccion = "senado" #' +#' @example R/examples/candidatos.R +#' #' @return data.frame with the candidates data. If tipo_eleccion = "senado" a column called `votos` is included with the votes recieved by each candidate. If other type of election is selected this column is not included since the votes are not received by the specific candidates but by the closed list of the party. #' #' @importFrom stringr str_trim diff --git a/R/candidatos_nosenado.R b/R/candidatos_nosenado.R index 7c6ddff..c948436 100644 --- a/R/candidatos_nosenado.R +++ b/R/candidatos_nosenado.R @@ -57,32 +57,34 @@ candidatos_nosenado <- function(tipo, anno, mes) { df <- df %>% mutate_if(is.character, str_trim) %>% - mutate(denominacion = str_remove_all(.data$denominacion, '"')) %>% + mutate(denominacion = str_remove_all("denominacion", '"')) %>% select( - .data$tipo_eleccion, - .data$anno, - .data$mes, - .data$vuelta, - .data$codigo_provincia, - .data$codigo_municipio, - .data$codigo_distrito, - .data$orden_candidato, - .data$tipo_candidato, - .data$nombre, - .data$apellido_1, - .data$apellido_2, - .data$sexo, - .data$nacimiento, - .data$dni , - .data$electo, - .data$codigo_partido_nacional, - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas - )%>% - arrange(.data$codigo_provincia, .data$siglas, .data$orden_candidato) + "tipo_eleccion", + "anno", + "mes", + "vuelta", + "codigo_provincia", + "codigo_municipio", + "codigo_distrito", + "orden_candidato", + "tipo_candidato", + "nombre", + "apellido_1", + "apellido_2", + "sexo", + "nacimiento", + "dni" , + "electo", + "codigo_partido_nacional", + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas" + ) %>% + arrange("codigo_provincia", "siglas", "orden_candidato") + + df <- df[!is.na(df$orden_candidato),] df$nacimiento <- NA df$dni <- NA diff --git a/R/data.R b/R/data.R index 51b67ba..a40a644 100644 --- a/R/data.R +++ b/R/data.R @@ -52,6 +52,20 @@ #' } "codigos_partidos" +#' Election dates +#' +#' This dataset contains the dates of the local, general and european elections in Spain from 1977 to 2023. +#' +#' @format A dataset with the dates of the elections +#' \describe{ +#' \item{tipo_eleccion}{Election level (local, general or european parliament)} +#' \item{anno}{Year of the election} +#' \item{mes}{Month of the election} +#' \item{day}{Day of the election} +#' } +#' @source \url{https://www.juntaelectoralcentral.es/cs/jec/elecciones} +"fechas_elecciones" + #' Mean income at the census section level (INE) #' #' This dataset contains the mean income of each census section diff --git a/R/examples/candidatos.R b/R/examples/candidatos.R new file mode 100644 index 0000000..c5c4d2c --- /dev/null +++ b/R/examples/candidatos.R @@ -0,0 +1,5 @@ +\dontrun{ + data <- candidatos(tipo_eleccion = "senado", anno = "2004", + mes = "03", nivel = "municipio") + str(data) +} diff --git a/R/examples/mesas.R b/R/examples/mesas.R new file mode 100644 index 0000000..6d481a1 --- /dev/null +++ b/R/examples/mesas.R @@ -0,0 +1,4 @@ +\dontrun{ + data <- mesas(tipo_eleccion = "congreso", anno = "2023", mes = "07") + str(data) +} diff --git a/R/examples/municipios.R b/R/examples/municipios.R new file mode 100644 index 0000000..d7afa2f --- /dev/null +++ b/R/examples/municipios.R @@ -0,0 +1,4 @@ +\dontrun{ + data <- municipios(tipo_eleccion = "congreso", anno = "2019", mes = "11") + str(data) +} diff --git a/R/examples/provincias.R b/R/examples/provincias.R new file mode 100644 index 0000000..35e2c64 --- /dev/null +++ b/R/examples/provincias.R @@ -0,0 +1,4 @@ +\dontrun{ + data <- provincias(tipo_eleccion = "congreso", anno = "1982", mes = "10") + str(data) +} diff --git a/R/mesas.R b/R/mesas.R index 3366569..aef703c 100644 --- a/R/mesas.R +++ b/R/mesas.R @@ -6,15 +6,17 @@ #' @param anno The year of the election in YYYY format. #' @param mes The month of the election in MM format. #' +#' @example R/examples/mesas.R +#' #' @return data.frame with the electoral results data at the polling station level. #' #' @importFrom stringr str_trim #' @importFrom stringr str_remove_all #' @importFrom dplyr relocate +#' @importFrom dplyr desc #' @importFrom dplyr full_join #' @importFrom dplyr left_join #' @importFrom dplyr %>% -#' @importFrom rlang .data #' #' @export mesas <- function(tipo_eleccion, anno, mes) { @@ -70,32 +72,32 @@ mesas <- function(tipo_eleccion, anno, mes) { codigos_municipios <- infoelectoral::codigos_municipios df <- left_join(df, codigos_municipios, by = c("codigo_provincia", "codigo_municipio")) %>% relocate( - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_municipio, - .data$municipio, - .data$codigo_distrito, - .data$codigo_seccion, - .data$codigo_mesa, - .after = .data$vuelta) %>% + "codigo_ccaa", + "codigo_provincia", + "codigo_municipio", + "municipio", + "codigo_distrito", + "codigo_seccion", + "codigo_mesa", + .after = "vuelta") %>% relocate( - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas, - .data$votos, - .data$datos_oficiales , - .after = .data$codigo_partido_nacional + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas", + "votos", + "datos_oficiales" , + .after = "codigo_partido_nacional" ) %>% arrange( - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_municipio, - .data$codigo_distrito, - .data$codigo_seccion, - .data$codigo_mesa, - -.data$votos + "codigo_ccaa", + "codigo_provincia", + "codigo_municipio", + "codigo_distrito", + "codigo_seccion", + "codigo_mesa", + desc("votos") ) df$municipio[df$codigo_municipio == "999"] <- "CERA" diff --git a/R/muni.R b/R/muni.R index 79857a3..dd67eec 100644 --- a/R/muni.R +++ b/R/muni.R @@ -7,6 +7,8 @@ #' @param mes The month of the election in MM format. #' @param distritos Should district level results be returned when available? The default is FALSE. Please be aware when summarizing the data that districts = TRUE will return separate rows for the total municipal level and for each of the districts. #' +#' @example R/examples/municipios.R +#' #' @return Dataframe with the electoral results data at the municipality level. #' #' @importFrom stringr str_trim @@ -16,8 +18,6 @@ #' @importFrom dplyr bind_rows #' @importFrom dplyr full_join #' @importFrom dplyr left_join -#' @importFrom rlang .data -#' @importFrom utils data #' @export #' municipios <- function(tipo_eleccion, anno, mes, distritos = FALSE) { @@ -94,26 +94,26 @@ municipios <- function(tipo_eleccion, anno, mes, distritos = FALSE) { df <- left_join(df, codigos_municipios, by = c("codigo_provincia", "codigo_municipio")) %>% relocate( - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_municipio, - .data$municipio, - .data$codigo_distrito, - .data$codigo_distrito_electoral, - .data$codigo_partido_judicial, - .data$codigo_diputacion, - .data$codigo_comarca, - .after = .data$vuelta) %>% + "codigo_ccaa", + "codigo_provincia", + "codigo_municipio", + "municipio", + "codigo_distrito", + "codigo_distrito_electoral", + "codigo_partido_judicial", + "codigo_diputacion", + "codigo_comarca", + .after = "vuelta") %>% relocate( - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas, - .data$votos, - .data$datos_oficiales , - .data$concejales_obtenidos, - .after = .data$codigo_partido_nacional + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas", + "votos", + "datos_oficiales", + "concejales_obtenidos", + .after = "codigo_partido_nacional" ) ### Si no se quieren los distritos se eliminan de los datos diff --git a/R/provincias.R b/R/provincias.R index c9efb60..98605d0 100644 --- a/R/provincias.R +++ b/R/provincias.R @@ -6,15 +6,17 @@ #' @param anno The year of the election in YYYY format. #' @param mes The month of the election in MM format. #' +#' @example R/examples/provincias.R +#' #' @return data.frame with the electoral results data at the polling station level. #' #' @importFrom stringr str_trim #' @importFrom stringr str_remove_all #' @importFrom dplyr relocate +#' @importFrom dplyr desc #' @importFrom dplyr full_join #' @importFrom dplyr left_join #' @importFrom dplyr %>% -#' @importFrom rlang .data #' #' @export provincias <- function(tipo_eleccion, anno, mes) { @@ -78,30 +80,30 @@ provincias <- function(tipo_eleccion, anno, mes) { # Inserto el nombre del municipio más reciente y reordeno algunas variables df <- df %>% relocate( - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_distrito_electoral, - .after = .data$vuelta) %>% + "codigo_ccaa", + "codigo_provincia", + "codigo_distrito_electoral", + .after = "vuelta") %>% relocate( - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas, - .data$votos, - .data$diputados, - .data$datos_oficiales, - .after = .data$codigo_partido_nacional + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas", + "votos", + "diputados", + "datos_oficiales", + .after = "codigo_partido_nacional" ) %>% relocate( - .data$n_diputados, - .after = .data$poblacion_derecho + "n_diputados", + .after = "poblacion_derecho" ) %>% arrange( - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_distrito_electoral, - -.data$votos + "codigo_ccaa", + "codigo_provincia", + "codigo_distrito_electoral", + desc("votos") ) return(df) diff --git a/R/senado_mesas.R b/R/senado_mesas.R index 4e139d5..e4f6f24 100644 --- a/R/senado_mesas.R +++ b/R/senado_mesas.R @@ -56,8 +56,7 @@ senado_mesas <- function(anno, mes) { df <- merge(df, dfcandidaturas, by = c("tipo_eleccion", "anno", "mes", "codigo_partido"), all = T) # Inserto el nombre del municipio más reciente y reordeno algunas variables - codigos_municipios <- NULL - data("codigos_municipios", envir = environment()) + codigos_municipios <- infoelectoral::codigos_municipios df <- merge(df, codigos_municipios, by = c("codigo_provincia", "codigo_municipio"), all = T) ### Limpieza: Quito los espacios en blanco a los lados de estas variables @@ -66,54 +65,54 @@ senado_mesas <- function(anno, mes) { df2 <- df %>% mutate_if(is.character, str_trim) %>% - mutate(denominacion = str_remove_all(.data$denominacion, '"')) %>% + mutate(denominacion = str_remove_all("denominacion", '"')) %>% select( - .data$tipo_eleccion, - .data$anno, - .data$mes, - .data$vuelta, - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_distrito_electoral, - .data$codigo_municipio, - .data$municipio, - .data$codigo_distrito, - .data$codigo_seccion, - .data$codigo_mesa, - .data$censo_ine, - .data$censo_cera, - .data$censo_cere, - .data$votantes_cere, - .data$participacion_1, - .data$participacion_2, - .data$votos_blancos, - .data$votos_nulos, - .data$votos_candidaturas, - .data$codigo_partido_nacional, - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas, - .data$codigo_senador, - .data$orden_candidato, - .data$tipo_candidato, - .data$nombre, - .data$apellido_1, - .data$apellido_2, - .data$sexo, - .data$nacimiento, - .data$dni , - .data$votos, - .data$electo, - .data$datos_oficiales + "tipo_eleccion", + "anno", + "mes", + "vuelta", + "codigo_ccaa", + "codigo_provincia", + "codigo_distrito_electoral", + "codigo_municipio", + "municipio", + "codigo_distrito", + "codigo_seccion", + "codigo_mesa", + "censo_ine", + "censo_cera", + "censo_cere", + "votantes_cere", + "participacion_1", + "participacion_2", + "votos_blancos", + "votos_nulos", + "votos_candidaturas", + "codigo_partido_nacional", + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas", + "codigo_senador", + "orden_candidato", + "tipo_candidato", + "nombre", + "apellido_1", + "apellido_2", + "sexo", + "nacimiento", + "dni" , + "votos", + "electo", + "datos_oficiales" )%>% - arrange(.data$codigo_provincia, .data$codigo_municipio, - .data$codigo_distrito, - .data$codigo_seccion, - .data$codigo_mesa, - .data$siglas, - .data$orden_candidato) + arrange("codigo_provincia", "codigo_municipio", + "codigo_distrito", + "codigo_seccion", + "codigo_mesa", + "siglas", + "orden_candidato") df$nacimiento[df$nacimiento_anno == "0000"] <- NA diff --git a/R/senado_municipios.R b/R/senado_municipios.R index 9bacf05..9083c81 100644 --- a/R/senado_municipios.R +++ b/R/senado_municipios.R @@ -62,55 +62,54 @@ senado_municipios <- function(anno, mes) { df$siglas <- str_trim(df$siglas) df$denominacion <- str_trim(df$denominacion) - codigos_municipios <- NULL - data("codigos_municipios", envir = environment()) + codigos_municipios <- infoelectoral::codigos_municipios df <- merge(df, codigos_municipios, by = c("codigo_provincia", "codigo_municipio"), all = T) %>% mutate_if(is.character, str_trim) %>% - mutate(denominacion = str_remove_all(.data$denominacion, '"')) %>% + mutate(denominacion = str_remove_all("denominacion", '"')) %>% select( - .data$tipo_eleccion, - .data$anno, - .data$mes, - .data$vuelta, - .data$codigo_ccaa, - .data$codigo_provincia, - .data$codigo_distrito_electoral, - .data$codigo_municipio, - .data$municipio, - .data$codigo_distrito, - .data$numero_mesas, - .data$poblacion_derecho, - .data$censo_ine, - .data$censo_escrutinio, - .data$censo_cere, - .data$votantes_cere, - .data$participacion_1, - .data$participacion_2, - .data$votos_blancos, - .data$votos_nulos, - .data$votos_candidaturas, - .data$codigo_partido_nacional, - .data$codigo_partido_autonomia, - .data$codigo_partido_provincia, - .data$codigo_partido, - .data$denominacion, - .data$siglas, - .data$codigo_senador, - .data$orden_candidato, - .data$tipo_candidato, - .data$nombre, - .data$apellido_1, - .data$apellido_2, - .data$sexo, - .data$nacimiento, - .data$dni , - .data$votos, - .data$electo, - .data$datos_oficiales + "tipo_eleccion", + "anno", + "mes", + "vuelta", + "codigo_ccaa", + "codigo_provincia", + "codigo_distrito_electoral", + "codigo_municipio", + "municipio", + "codigo_distrito", + "numero_mesas", + "poblacion_derecho", + "censo_ine", + "censo_escrutinio", + "censo_cere", + "votantes_cere", + "participacion_1", + "participacion_2", + "votos_blancos", + "votos_nulos", + "votos_candidaturas", + "codigo_partido_nacional", + "codigo_partido_autonomia", + "codigo_partido_provincia", + "codigo_partido", + "denominacion", + "siglas", + "codigo_senador", + "orden_candidato", + "tipo_candidato", + "nombre", + "apellido_1", + "apellido_2", + "sexo", + "nacimiento", + "dni" , + "votos", + "electo", + "datos_oficiales" )%>% - arrange(.data$codigo_provincia, - .data$siglas, - .data$orden_candidato) + arrange("codigo_provincia", + "siglas", + "orden_candidato") df$nacimiento[df$nacimiento_anno == "0000"] <- NA diff --git a/data/fechas_elecciones.RData b/data/fechas_elecciones.RData new file mode 100644 index 0000000000000000000000000000000000000000..45353a4ada3808acd090f8277d3ef36b03863b9e GIT binary patch literal 414 zcmV;P0b%|hiwFP!000002JKZ{PlGTNt-y?%S)%bb_~_CP80Fpg1I$eJwp7+B34;Z; z`0D@kzc@Ps?PV0Q_+*R^h11h}&pq5yc)Xvp(R_pua*^jc$Q>w%22ZnxJC2a&sL2`f z&`{m4S2BJT5a2ifz?D?mX2|G_drHS&->e(0)c@^jLe9a!Xy@M*8GB`aHuuwe*qd3`*P8 zFll?XdhsnPVY@@78#WcN;~aQy{%i-CSnH3OSCQjwvdQ)Tw>~i<%km1lYyC}hmx(yi z92WW8q}ClD%D$`1e!u@XE*__%tc$x9dA@y47t2*GuVxh-EyY$$R)rE)v(Ll$0*ikf I6jlfT00Y9#c>n+a literal 0 HcmV?d00001 diff --git a/man/candidatos.Rd b/man/candidatos.Rd index 2fd69b1..d30d3db 100644 --- a/man/candidatos.Rd +++ b/man/candidatos.Rd @@ -21,3 +21,10 @@ data.frame with the candidates data. If tipo_eleccion = "senado" a column called \description{ `candidatos()` downloads, formats and imports to the environment the data of the candidates from the electoral lists of the selected elections. } +\examples{ +\dontrun{ + data <- candidatos(tipo_eleccion = "senado", anno = "2004", + mes = "03", nivel = "municipio") + str(data) +} +} diff --git a/man/fechas_elecciones.Rd b/man/fechas_elecciones.Rd new file mode 100644 index 0000000..bc61bf0 --- /dev/null +++ b/man/fechas_elecciones.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{fechas_elecciones} +\alias{fechas_elecciones} +\title{Election dates} +\format{ +A dataset with the dates of the elections +\describe{ + \item{tipo_eleccion}{Election level (local, general or european parliament)} + \item{anno}{Year of the election} + \item{mes}{Month of the election} + \item{day}{Day of the election} +} +} +\source{ +\url{https://www.juntaelectoralcentral.es/cs/jec/elecciones} +} +\usage{ +fechas_elecciones +} +\description{ +This dataset contains the dates of the local, general and european elections in Spain from 1977 to 2023. +} +\keyword{datasets} diff --git a/man/mesas.Rd b/man/mesas.Rd index 6486e3c..22a51ca 100644 --- a/man/mesas.Rd +++ b/man/mesas.Rd @@ -19,3 +19,9 @@ data.frame with the electoral results data at the polling station level. \description{ `mesas()` downloads, formats and imports to the environment the electoral results data of the selected election at the polling station level. } +\examples{ +\dontrun{ + data <- mesas(tipo_eleccion = "congreso", anno = "2023", mes = "07") + str(data) +} +} diff --git a/man/municipios.Rd b/man/municipios.Rd index d5c5777..c056559 100644 --- a/man/municipios.Rd +++ b/man/municipios.Rd @@ -21,3 +21,9 @@ Dataframe with the electoral results data at the municipality level. \description{ `municipios()` downloads, formats and imports to the environment the electoral results data of the selected election at the municipality level. } +\examples{ +\dontrun{ + data <- municipios(tipo_eleccion = "congreso", anno = "2019", mes = "11") + str(data) +} +} diff --git a/man/provincias.Rd b/man/provincias.Rd index 40478f8..a51a43c 100644 --- a/man/provincias.Rd +++ b/man/provincias.Rd @@ -19,3 +19,9 @@ data.frame with the electoral results data at the polling station level. \description{ `provincias()` downloads, formats and imports to the environment the electoral results data of the selected election at electoral constituency level (province or island). } +\examples{ +\dontrun{ + data <- provincias(tipo_eleccion = "congreso", anno = "1982", mes = "10") + str(data) +} +} diff --git a/tests/testthat.R b/tests/testthat.R new file mode 100644 index 0000000..80f3802 --- /dev/null +++ b/tests/testthat.R @@ -0,0 +1,12 @@ +# This file is part of the standard setup for testthat. +# It is recommended that you do not modify it. +# +# Where should you do additional test configuration? +# Learn more about the roles of various files in: +# * https://r-pkgs.org/testing-design.html#sec-tests-files-overview +# * https://testthat.r-lib.org/articles/special-files.html + +library(testthat) +library(infoelectoral) + +test_check("infoelectoral") diff --git a/tests/testthat/test-candidatos.R b/tests/testthat/test-candidatos.R new file mode 100644 index 0000000..e158dd5 --- /dev/null +++ b/tests/testthat/test-candidatos.R @@ -0,0 +1,26 @@ +library(dplyr) + +set.seed(120) +x <- fechas_elecciones %>% + filter(tipo_eleccion == "generales") %>% + sample() %>% + slice(1) + +data <- candidatos("senado", x$anno, x$mes, nivel = "municipio") %>% + filter(codigo_provincia != "99") + + +test_that("n_provincias function", { + n_provincias <- unique(data$codigo_provincia) %>% length() + expect_equal(n_provincias, 52) +}) + + +test_that("n_electos function", { + n_electos <- + data %>% + filter(electo == "S") %>% + nrow() + + expect_gte(n_electos, 200) +}) diff --git a/tests/testthat/test-mesas.R b/tests/testthat/test-mesas.R new file mode 100644 index 0000000..a89612d --- /dev/null +++ b/tests/testthat/test-mesas.R @@ -0,0 +1,26 @@ +library(dplyr) + +set.seed(120) +x <- fechas_elecciones %>% + filter(tipo_eleccion == "generales") %>% + sample() %>% + slice(1) + +data <- mesas("congreso", x$anno, x$mes) %>% + filter(codigo_provincia != "99") + +test_that("n_provincias function", { + n_provincias <- unique(data$codigo_provincia) %>% length() + expect_equal(n_provincias, 52) +}) + + +test_that("n_mesas more than 40000", { + n_mesas <- + data %>% + select(starts_with("codigo_") & !starts_with("codigo_partido")) %>% + distinct() %>% + nrow() + + expect_gte(n_mesas, 40000) +}) diff --git a/tests/testthat/test-municipios.R b/tests/testthat/test-municipios.R new file mode 100644 index 0000000..4ce653c --- /dev/null +++ b/tests/testthat/test-municipios.R @@ -0,0 +1,27 @@ +library(dplyr) + +set.seed(120) +x <- fechas_elecciones %>% + filter(tipo_eleccion == "generales") %>% + sample() %>% + slice(1) + +data <- municipios("congreso", x$anno, x$mes) %>% + filter(codigo_provincia != "99") + + +test_that("n_provincias equal to 52", { + n_provincias <- unique(data$codigo_provincia) %>% length() + expect_equal(n_provincias, 52) +}) + + +test_that("n_municipios more than 8100", { + n_municipios <- + data %>% + select(starts_with("codigo_") & !starts_with("codigo_partido")) %>% + distinct() %>% + nrow() + + expect_gte(n_municipios, 8100) +}) diff --git a/tests/testthat/test-provincias.R b/tests/testthat/test-provincias.R new file mode 100644 index 0000000..4827b0a --- /dev/null +++ b/tests/testthat/test-provincias.R @@ -0,0 +1,29 @@ +library(dplyr) + +set.seed(120) +x <- fechas_elecciones %>% + filter(tipo_eleccion == "generales") %>% + sample() %>% + slice(1) + +data <- provincias("congreso", x$anno, x$mes) %>% + filter(codigo_provincia != "99") + + +test_that("n_diputados equal to 350", { + + n_diputados <- + data %>% + summarise(n_diputados = sum(diputados)) %>% pull(n_diputados) + + expect_equal(n_diputados, 350) +}) + +test_that("n_provincias equal to 52", { + n_provincias <- unique(data$codigo_provincia) %>% length() + expect_equal(n_provincias, 52) +}) + +test_that("more than 300 rows", { + expect_gte(nrow(data), 300) +}) diff --git a/vignettes/municipios.Rmd b/vignettes/municipios.Rmd index bcf353e..499f569 100644 --- a/vignettes/municipios.Rmd +++ b/vignettes/municipios.Rmd @@ -93,7 +93,7 @@ shp$geometry[shp$codigo_ccaa == "05"] <- shp$geometry[shp$codigo_ccaa == "05"] + ## Visualize -At last, we may use [tmap](https://github.com/mtennekes/tmap) or even [ggplot]() to visualize the maps. In this case we use the formar because of it's easier to create facets. +At last, we may use [tmap](https://github.com/mtennekes/tmap) or even [ggplot](https://ggplot2.tidyverse.org/) to visualize the maps. In this case we use the formar because of it's easier to create facets. ```{r fig.align="center", fig.height = 12, fig.width=8} colores5 <- list(c("#ededed", "#0cb2ff"), # PP