Proportional ApportionmentProportional apportionment distributes seats for a vector of votes. With proporz(), all divisor or largest remainder methods can be accessed. |
|
---|---|
Proportional apportionment |
|
Divisor Methods |
|
Highest averages method |
|
|
Divisor methods |
Largest Remainder Method |
|
Largest remainder method |
|
Biproportional ApportionmentBiproportional apportionment distributes seats for a matrix of votes among parties and districts. |
|
Biproportional apportionment |
|
Biproportional apportionment with data frames |
|
Algorithm implementations |
|
Calculate upper apportionment |
|
Calculate lower apportionment |
|
Quorum calculations |
|
Create quorum functions for biproportional apportionment |
|
Check if lists/parties have reached a quorum in at least one district |
|
Check if lists/parties have reached the quorum for all votes |
|
Shiny App |
|
Use biproportional apportionment interactively in a shiny app |
|
Example Datasets |
|
Election Data for the Cantonal Council of Zug (2018) |
|
Election Data for the Cantonal Council of Uri (2020) |
|
Finnish Parliamentary Elections Data (2019) |
|
Helpers |
|
Get district and party divisors from biproporz result |
|
Pivot long data.frame to wide matrix and vice versa |
|
Rounding with predefined thresholds |
|
Create weighted votes matrix |