Implementations of the Single Transferable Vote (STV) counting system. By default, it uses the Cambridge method for surplus allocation and Droop method for quota calculation. Fractional surplus allocation and the Hare quota are available as options.

Current package build status via use of Travis CI:

More Information on STV

See a page from the Electoral Reform Society, or of course Wikipedia. A second Wikipedia page describes the history and use of the STV system. There is also a cute video cartoon on YouTube that you might enjoy.

Getting Started

To load the package in R directly from github, you may use the following commands:


Although there are many ways of counting single transferable votes, this package supports only two quota methods and two surplus reallocation methods. We welcome collaboration as we expand the vote count method options.

Jay’s Github notes (because I can never remember…)

After creating the public repository on GitHib, essentially empty with only, I cloned to my laptop:

git clone

I then moved the package contents into the local STV directory, at which point the following workflow appears sufficient for my own purposes:

If I’m not working with anyone, I’m pretty much set. I do work and then push the changes, end-of-story. But if someone submits a pull request to the master on Github that I accept, I need to update my local copy with this new contribution:

At this point, I think that’s it. I’m not using any special branches or anything (maybe I should, but I’m not).