Allows the user to generate and execute select, insert, update and delete ‘SQL’ queries the underlying database without having to explicitly write ‘SQL’ code.
| Release | Usage | Development |
|:-----------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | |
|
|
| |
|
| | |
|
# Not yet published in CRAN
# install.packages("ElectionsLATAM")
Install the R package using the following commands on the R console:
devtools::install_github("rOpenStats/ElectionsLATAM", build_opts = NULL)
To get started execute the following commands:
# 0. Load libraries
library(ElectionsLATAM)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(readr)
#> Warning: package 'readr' was built under R version 4.1.2
# 1. Costa Rica
costa.rica.ein.path <- file.path(getPackageDir(), "costa-rica")
ecological.inference.calvo <- EcologicalInferenceStrategyCalvoEtAl$new()
costa.rica.ein <-
EcologicalInferenceProcessor$new(
ecological.inference.strategy = ecological.inference.calvo,
election.name = "2022-costa-rica-general-ballotage-n4",
scenario = "final",
data.input.path = costa.rica.ein.path,
input.file = "2021-generales_pivot_candidatos_n4.csv",
location.fields = c("id_unidad"),
votes.field = "votos",
#potential.votes.field = "habilitados",
ignore.fields = "habilitados",
col.types = cols(
.default = col_number(),
id_unidad = col_character()
)
)
dummy <- costa.rica.ein$loadInputPivotCandidatos()
#> INFO [20:22:04.850] Loading input election {input.filepath: `/Users/kenarab/Library/R/x86_64/4.1/library/ElectionsLATAM/extdata/costa-rica/2021-generales_pivot_candidatos_n4.csv`}
costa.rica.ein$output.election <- readr::read_delim(
#ballotage.processor$pivot.filepath,
file.path(costa.rica.ein.path,
paste("2022-ballotage_pivot_candidatos_n4.csv", sep = "_")),
delim = ";",
col_types = cols(
.default = col_double(),
id_unidad = col_character()
)
)
costa.rica.ein$runScenario(include.blancos = TRUE, include.ausentes = TRUE,
max.potential.votes.rel.dif = 0.32)
#> INFO [20:22:04.979] Setting seed {seed: `143324`}
#> INFO [20:22:05.052] Starting with {input.locations: `6661`, output.locations: `6738`, locations.available: `6661`}
#> INFO [20:22:05.274] After filtering locations {input.locations: `6661`, output.locations: `6661`}
#> INFO [20:22:05.316] After filtering comparable locations {threshold: `0.32`, non.comparable.locations: `84`, non.comparable.votes: `10507`, comparable.locations: `6577`, comparable.votes: `2072736`, input.locations: `6577`, output.locations: `6577`}
#> INFO [20:22:05.377] ParamsEstim {nR: `10`, nC: `5`}
#> INFO [20:22:12.564] calcFractions
#> INFO [20:22:12.574] Results for {description: `input.original`, results: `FA= 3.24|habilitados= 62.25|Otros= 2.81|PLN= 10.15|PLP= 4.6|PNR= 5.56|PSD= 6.25|PUSC= 4.62|blanco_y_nulo= 0.52`, total.votes: `2083243`}
#> INFO [20:22:12.585] Results for {description: `input`, results: `FA= 8.56|Otros= 7.4|PLN= 26.84|PLP= 12.19|PNR= 14.56|PSD= 16.55|PUSC= 12.18|blanco_y_nulo= 1.35|ausente= 0.37`, total.votes: `2072736`}
#> INFO [20:22:12.587] Results for {description: `output.original`, results: `habilitados= 63.79|PLN= 16.63|PSD= 18.64|blanco_y_nulo= 0.93`, total.votes: `1978230`}
#> INFO [20:22:12.590] Results for {description: `output`, results: `PLN= 43.39|PSD= 48.66|blanco_y_nulo= 2.43|ausente= 5.51`, total.votes: `1965668`}
#> INFO [20:22:12.591] Votes {total.input.votes: `2083243`, total.input.applied.votes: `2072736`, total.output.votes: `1978230`, total.output.applied.votes: `1965668`, change.input.output.votes: `0.9496`, change.input.output.applied.votes: `0.9483`, dismissed.input.votes: `0.995`, dismissed.output.votes: `0.9936`}
#> PLN PSD blanco_y_nulo ausente 1 - rowSums(dsOUTpre)
#> FA 81814 64970 22881 5464 3026
#> Otros 12350 120062 14979 4352 2180
#> PLN 557782 223 35 18 308
#> PLP 154001 67818 3104 27104 1539
#> PNR 35727 215442 139 50716 921
#> PSD 40 344126 21 26 115
#> PUSC 49679 179535 843 21195 2038
#> blanco_y_nulo 7509 9456 3961 4811 2425
#> ausente 1254 6329 12 4 58
#> 1 - rowSums(dsINpre) -4315 -562 -1182 -618 -981
costa.rica.test.path <- file.path(tempdir(), "test","costa-rica")
costa.rica.ein$exportBetab(output.folder = costa.rica.test.path, overwrite = TRUE)
#> INFO [20:22:12.603] Ecological inference Betab file writen {betab.filepath: `/var/folders/4r/f_k7yqz92p76h7b32m953pyr0000gp/T//RtmpqM9Jhh/test/costa-rica/2022-costa-rica-general-ballotage-n4-ein-betab-scen-final-s-143324.csv`}
dummy <- costa.rica.ein$generateOutputJSON(costa.rica.test.path,
filename = "balotaje_n4_ei.json")
#> INFO [20:22:12.629] Ecological inference json writen {json.filepath: `/var/folders/4r/f_k7yqz92p76h7b32m953pyr0000gp/T//RtmpqM9Jhh/test/costa-rica/balotaje_n4_ei.json`}
costa.rica.ein$makeSankeyDiagram(output.path = costa.rica.test.path)
#> INFO [20:22:12.638] Generating sankeyNetwork {nodes: `13`, links: `36`}
#> INFO [20:22:12.844] Generating webshot {sankey.d3.png.filepath: `/var/folders/4r/f_k7yqz92p76h7b32m953pyr0000gp/T//RtmpqM9Jhh/test/costa-rica/2022-costa-rica-general-ballotage-n4-ein-sankey-scen-final-s-143324.png`}
# Saving output table for reproducibility
# write_rds(costa.rica.ein$output.table, file.path(costa.rica.ein.path, "ein_2021_general_2022_ballotage.rds"))
Please note that the ‘ElectionsLATAM’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.