Predict votes and detect anomalies using R.
The Plausi package is designed for R-supported election forensics. It provides functions that enable the identification of statistical irregularities and anomalies in vote results.
Key features include:
- Robust outlier detection for small sample sizes and skewed distributions
- Calculation of differences between all possible combinations of turnout-levels (e.g., for systematic comparison of voter turnout across all voting districts)
- Prediction of expected results using machine learning algorithms (e.g., yes-vote proportions, voter turnout, etc.)
It serves as a basis for the PlausiApp, which is used for vote result quality control in different cantons (TG / SG / ZH).
For the moment, the PlausiApp is made available upon request via a private Repo (mailto:[email protected]).
You can install the plausi package from GitHub with:
# install.packages("devtools")
devtools::install_github("machinelearningZH/plausi")
Attach the package and you are good to go.
library(plausi)
All you need now is data. The easiest way to access data on popular votes in Switzerland is via the swissdd package, with which you can easily get a wide range of vote results, for example the results of the national votes from 2024-11-24:
devtools::install_github("politanch/swissdd")
vote_data <- swissdd::get_nationalvotes(geolevel = "municipality", votedates = "2024-11-24")
The package is licensed under the MIT license.
This is a joint project of the Vote & Election-Team and Team Data of the Statistical Office of the Canton of Zurich. Responsible: Simon Graf, Thomas Lo Russo and Thomas Knecht.
We would love to hear from you. Please share your feedback and let us know how you use the code. You can write an email or share your ideas by opening an issue or a pull requests.