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

Abstract:

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.

Cite PDF Tweet

Published

Sept. 19, 2021

Received

May 3, 2021

DOI

10.32614/RJ-2021-086

Volume

Pages

13/2

673 - 696

CRAN packages used

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

CRAN Task Views implied by cited packages

Footnotes

    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 R Journal: 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 R Journal: 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}
    }