Learn R Programming

votesys (version 0.1.1)

cdc_copeland: 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 vote. 2nd, it can be a user-given Condorcet matrix, 3rd, it can be a result of another Condorcet method, which is of class condorcet.

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 in x. When x is not a vote object, it may be NULL.

  • (6) valid_ballot_num number of ballots that are actually used to compute the result. When x is not a vote object, it may be NULL.

  • (7) winner the winners.

  • (8) input_object the class of x.

  • (9) cdc the Condorcet matrix which is actually used.

  • (10) dif the score difference matrix. When x is not a vote 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 to lose. 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

Run this code
# NOT RUN {
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)
# }

Run the code above in your browser using DataLab