| dowdall_method {votesys} | R Documentation |
Dowdall Method
Description
This is an alternative Borda method. Voters are required
to assign preference scores to every candidate and one
score value cannot be shared by two or more candidates.
For a voter, his 1st choice gets 1, his 2nd choice gets
1/2, his 3rd choice gets 1/3... The candidate who gets
the most points wins. For the function
dowdall_method, ranks, rather than true
values, are used. So 1, 3, 5 are ranked as 1, 2, 3, and the
scores are 1/1, 1/2, 1/3.
Usage
dowdall_method(x, stop = FALSE)
Arguments
x |
an object of class |
stop |
default is FALSE, when ballots do have duplicated values or NAs, error will not be raised, but the winner will be NULL. If TRUE, an error will be raised. |
Value
a list object.
(1)
callthe function call.(2)
methodthe counting method.(3)
candidatecandidate names.(4)
candidate_numnumber of candidate.(5)
ballot_numnumber of ballots in x.(6)
valid_ballot_numnumber of ballots that are used to compute the result.(7)
winnerthe winners.(8)
other_infototal scores.
References
https://en.wikipedia.org/wiki/Borda_count
Examples
raw <- list2ballot(string =
c("51: a>c>b>d", "5: c>b>d>a", "23: b>c>d>a", "21: d>c>b>a")
)
vote <- create_vote(raw, xtype = 3, candidate = c("a", "b", "c", "d"))
y1 <- borda_method(vote) # winner is c
y2 <- dowdall_method(vote) # winner is a