cdc_copeland {votesys} | R Documentation |
Copeland Method
Description
Candidates enter into pairwise comparison. if the number of voters who prefer a is larger than the number of voters who prefer b, then a wins b, a gets 1 point, b gets -1 point. If the numbers are equal, then both of them gets 0 point. Then, sum up each one's comparison points. For example, a wins 3 times, loses 1 time, has equal votes with 2 candidate, his score is 3 * 1 + (-1) * 1 + 0 * 2 = 2. The one gets the most points wins. Essentially, this is a way to solve ties in ordinary Condorcet method. However, there may be 2 or more winners. The other type of Copeland method is to count only the times of wins, that is, the loser in pairwise comparison gets 0 point rather than -1 point.
Usage
cdc_copeland(x, allow_dup = TRUE, min_valid = 1, lose = -1)
Arguments
x |
it accepts the following types of input:
1st, it can be an object of class |
allow_dup |
whether ballots with duplicated score values are taken into account. Default is TRUE. |
min_valid |
default is 1. If the number of valid entries of a ballot is less than this value, it will not be used. |
lose |
the point the pairwise loser gets, should be -1 (default) or 0. |
Value
a condorcet
object, which is essentially
a list.
(1)
call
the function call.(2)
method
the counting method.(3)
candidate
candidate names.(4)
candidate_num
number of candidate.(5)
ballot_num
number of ballots inx
. When x is not avote
object, it may be NULL.(6)
valid_ballot_num
number of ballots that are actually used to compute the result. When x is not avote
object, it may be NULL.(7)
winner
the winners.(8)
input_object
the class ofx
.(9)
cdc
the Condorcet matrix which is actually used.(10)
dif
the score difference matrix. When x is not avote
object, it may be NULL.(11)
binary
win and loss recorded with 1 (win), 0 (equal) and -1 (loss).(12)
summary_m
times of win (1), equal (0) and loss (-1).(13)
other_info
a list with 2 elements, the 1st is the point the loser gets, it is equal tolose
. The 2nd contains the scores.
References
Merlin, V. & Saari, D. 1996. The Copeland method: I.: Relationships and the dictionary. Economic Theory, 8(1), 51-76.
Examples
raw <- c(
rep(c('m', 'n', 'c', 'k'), 42), rep(c('n', 'c', 'k', 'm'), 26),
rep(c('c', 'k', 'n', 'm'), 15), rep(c('k', 'c', 'n', 'm'), 17)
)
raw <- matrix(raw, ncol = 4, byrow = TRUE)
vote <- create_vote(raw, xtype = 2, candidate = c('m', 'n', 'k', 'c'))
win1 <- cdc_simple(vote)
win2 <- cdc_copeland(vote) # winner is n
win2 <- cdc_copeland(win1$cdc)
win3 <- cdc_copeland(win2, lose = 0)