Learn R Programming

votesys (version 0.1.1)

cdc_simple: Ordinary Condorcet 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 0 point. If the numbers are equal, then both of them gets 0 point. Suppose there are n candidates, the one gets n-1 points wins (that is, he wins in all pairwise comparison). There may be no Condorcet winner. If thus, you can try other Condorcet family methods.

Usage

cdc_simple(x, allow_dup = TRUE, min_valid = 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.

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 winner; may be NULL.

  • (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 currently nothing.

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) # winner is n
win2 <- cdc_simple(win1$cdc) # use a Condorceit matrix
win2 <- cdc_simple(win1) # use an existent result
# }

Run the code above in your browser using DataLab