Learn R Programming

apportion

apportion provides different apportionment methods for allocating seats across states. These methods are also sometimes used for allocating seats by votes in proportional representation systems.

Installation

You can install the development version of apportion like so:

remotes::install_github('christopherkenny/apportion')

Example

apportion has several apportionment methods, each of which take two required arguments: - size: the number of seats to apportion across units - pop: a vector of population sizes for each unit

library(apportion)
## basic example code
data('state_2020')

app_adams(size = 435, pop = state_2020$pop)
#>  [1]  7  1  9  4 50  8  5  2 27 14  2  3 16  9  4  4  6  6  2  8  9 13  8  4  8
#> [26]  2  3  4  2 12  3 26 14  1 15  5  6 17  2  7  2  9 37  5  1 11 10  3  8  1

Implemented methods include:

  • the Adams Method (app_adams())
  • the Balinski Young Method (app_balinski_young())
  • the Dean Method (app_dean())
  • the D’Hondt Method (app_dhondt())
  • the Hamilton-Vinton Method (app_hamilton_vinton())
  • the Huntington-Hill Method (app_huntington_hill())
  • the Jefferson Method (app_jefferson())
  • the Webster Method (app_webster())

Copy Link

Version

Install

install.packages('apportion')

Monthly Downloads

230

Version

0.0.2

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Christopher T. Kenny

Last Published

September 1st, 2025

Functions in apportion (0.0.2)

app_balinski_young

Apportion by the Balinski Young Method
app_dhondt

Apportion by the D'Hondt Method
app_dean

Apportion by the Dean Method
app_hamilton_vinton

Apportion by the Hamilton-Vinton Method
app_webster

Apportion by the Webster Method
app_jefferson

Apportion by the Jefferson Method
app_huntington_hill

Apportion by the Huntington-Hill Method
app_adams

Apportion by the Adams Method
state_2020

state_2020 (2020 State Data)