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.
vote, votesys, rcv, STV, HighestMedianRules, electoral, esaps
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 ...".
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} }