proporz: Proportional apportionment

View source: R/proporz.R

proporzR Documentation

Proportional apportionment

Description

Calculate seat apportionment for legislative bodies.

Usage

proporz(votes, n_seats, method, quorum = 0)

Arguments

votes

numeric vector with number of votes for each party

n_seats

total number of seats

method

Apportionment method to use, as character. Not case sensitive. See details.

quorum

Vote threshold a party must reach. Used as quota of total votes within a district if less than 1 otherwise as number of votes.

Details

The following methods are available:

  • d'hondt, jefferson, hagenbach-bischoff, floor: divisor_floor()

  • sainte-lague, webster, round: divisor_round()

  • adams, ceiling: divisor_ceiling()

  • dean, harmonic: divisor_harmonic()

  • huntington-hill, hill-huntington, geometric: divisor_geometric()

  • hare-niemeyer, hamilton, vinton, largest_remainder_method: largest_remainder_method()

Value

The number of seats per party as a vector

Note

Seats can also be apportioned among regions instead of parties. The parameter votes is then normally used with census data (e.g. population counts).

Examples

votes = c("Party A" = 651, "Party B" = 349, "Party C" = 50)

proporz(votes, 10, "sainte-lague")

proporz(votes, 10, "hill-huntington")

proporz(votes, 10, "hill-huntington", quorum = 0.05)

proporz(votes, 10, "jefferson", quorum = 70)


polettif/proporz documentation built on Feb. 20, 2025, 11:19 a.m.