The vote Package: Single Transferable Vote and Other Electoral Systems in R

We describe the vote package in R, which implements the plurality (or first-past-the-post), two-round runoff, score, approval, and Single Transferable Vote (STV) electoral systems, as well as methods for selecting the Condorcet winner and loser. We emphasize the STV system, which we have found to work well in practice for multi-winner elections with small electorates, such as committee and council elections, and the selection of multiple job candidates. For single-winner elections, STV is also called Instant Runoff Voting (IRV), Ranked Choice Voting (RCV), or the alternative vote (AV) system. The package also implements the STV system with equal preferences, for the first time in a software package, to our knowledge. It also implements a new variant of STV, in which a minimum number of candidates from a specified group are required to be elected. We illustrate the package with several real examples.

Adrian E. Raftery , Hana Ševčíková , Bernard W. Silverman
2021-09-20

CRAN packages used

vote, votesys, rcv, STV, HighestMedianRules, electoral, esaps

CRAN Task Views implied by cited packages

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Raftery, et al., "The vote Package: Single Transferable Vote and Other Electoral Systems in R", The R Journal, 2021

BibTeX citation

@article{RJ-2021-086,
  author = {Raftery, Adrian E. and Ševčíková, Hana and Silverman, Bernard W.},
  title = {The vote Package: Single Transferable Vote and Other Electoral Systems in R},
  journal = {The R Journal},
  year = {2021},
  note = {https://doi.org/10.32614/RJ-2021-086},
  doi = {10.32614/RJ-2021-086},
  volume = {13},
  issue = {2},
  issn = {2073-4859},
  pages = {673-696}
}