Skip to contents

VoteShares: proximity (ties split) or logit shares with salience-weighted Euclidean distances. BestResponseEquilibrium: sequential best responses on a grid (a move needs a gain above 1e-12; the lowest improving index wins). StrategicVoteShares: Cox's M + 1 viable parties and wasted-vote switching. EntryGame: incumbents best-respond anticipating the entrant's best response (Palfrey 1984). EffectiveNumberParties: Laakso-Taagepera and Golosov. RubinsteinBargaining: (1 - delta2) / (1 - delta1 delta2). MedianParty: the party of the seat-weighted median legislator. LaverDynamics: sticker, aggregator, hunter and predator rules (Laver 2005; hunter headings from Philox stream step * P + party). MergeSplitParties: shares before and after a merger or split. SetterOutcome: Romer-Rosenthal setter proposal. CommitteeOutcome: Denzau-Mackay gatekeeping under open or closed rules. Party indices are 0-based, as the Python arm.

Usage

VoteShares(
  positions,
  voters,
  weights = NULL,
  rule = "proximity",
  beta = 1,
  salience = NULL
)

BestResponseEquilibrium(
  voters,
  n_parties,
  grid,
  weights = NULL,
  start = NULL,
  rule = "proximity",
  beta = 1,
  max_rounds = 200
)

StrategicVoteShares(positions, voters, weights = NULL, magnitude = 1)

EntryGame(voters, grid, weights = NULL, n_incumbents = 2, max_rounds = 100)

EffectiveNumberParties(shares)

RubinsteinBargaining(delta1, delta2)

MedianParty(positions, seats)

LaverDynamics(voters, positions, rules, n_steps, speed = 0.1, seed = 0)

MergeSplitParties(
  positions,
  voters,
  weights = NULL,
  merge = NULL,
  split = NULL
)

SetterOutcome(setter, median, status_quo)

CommitteeOutcome(committee, floor, status_quo, rule = "closed")

Arguments

positions

Party positions (vector for 1-D, or matrix rows).

voters

Voter ideal points (vector or matrix rows).

weights

Voter weights, or NULL.

rule

"proximity" or "logit"; for CommitteeOutcome "open" or "closed".

beta

Logit sensitivity.

salience

Dimension weights, or NULL.

n_parties

Number of parties.

grid

Candidate positions.

start

Starting grid indices (0-based), or NULL.

max_rounds

Maximum best-response rounds.

magnitude

District magnitude.

n_incumbents

Number of incumbents.

shares

Party vote or seat shares.

delta1, delta2

Discount factors.

seats

Seat counts.

rules

Decision rule of each party.

n_steps

Number of steps.

speed

Step length.

seed

Philox seed.

merge

Pair of 0-based party indices to merge, or NULL.

split

c(index, delta) of a party to split, or NULL.

setter, median, status_quo

Setter ideal, floor median and status quo.

committee, floor

Committee and floor ideal points.

Value

A list or numeric vector.

References

Downs, A. (1957). An Economic Theory of Democracy. Eaton, B. C. and Lipsey, R. G. (1975). Rev. Econ. Stud. 42, 27-49. Cox, G. W. (1997). Making Votes Count. Palfrey, T. R. (1984). Rev. Econ. Stud. 51, 139-156. Laakso, M. and Taagepera, R. (1979). Comparative Political Studies 12, 3-27. Golosov, G. V. (2010). Party Politics 16, 171-192. Rubinstein, A. (1982). Econometrica 50, 97-109. Laver, M. and Schofield, N. (1990). Multiparty Government. Laver, M. (2005). APSR 99, 263-281. Romer, T. and Rosenthal, H. (1978). Public Choice 33, 27-43. Denzau, A. T. and Mackay, R. J. (1983). AJPS 27, 740-761.

Examples

VoteShares(c(0, 1), c(0.1, 0.4, 0.5, 0.9))
#> [1] 0.625 0.375
EffectiveNumberParties(c(0.5, 0.3, 0.2))
#> $laakso_taagepera
#> [1] 2.631579
#> 
#> $golosov
#> [1] 2.139979
#> 
SetterOutcome(0.9, 0.5, 0.3)$outcome
#> [1] 0.7