pref: Preference Voting with Explanatory Graphics

Implements the Single Transferable Vote (STV) electoral system, with clear explanatory graphics. The core function stv() uses Meek's method, the purest expression of the simple principles of STV, but which requires electronic counting. It can handle votes expressing equal preferences for subsets of the candidates. A function stv.wig() implementing the Weighted Inclusive Gregory method, as used in Scottish council elections, is also provided, and with the same options, as described in the manual. The required vote data format is as an R list: a function is provided to transform some commonly used data formats into this format. References for methodology: Hill, Wichmann and Woodall (1987) <doi:10.1093/comjnl/30.3.277>, Hill, David (2006) <>, Mollison, Denis (2023) <doi:10.48550/arXiv.2303.15310>, (see also the package manual pref_pkg_manual.pdf).

Version: 0.4.0
Depends: R (≥ 3.5)
Imports: base, graphics, grDevices, jpeg, utils
Published: 2024-02-02
DOI: 10.32614/CRAN.package.pref
Author: Denis Mollison ORCID iD [aut, cre, cph]
Maintainer: Denis Mollison <denis.mollison at>
License: MIT + file LICENSE
NeedsCompilation: no
Materials: README NEWS
CRAN checks: pref results


Reference manual: pref.pdf


Package source: pref_0.4.0.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): pref_0.4.0.tgz, r-oldrel (arm64): pref_0.4.0.tgz, r-release (x86_64): pref_0.4.0.tgz, r-oldrel (x86_64): pref_0.4.0.tgz


Please use the canonical form to link to this page.