Nothing
fastVoteR
is an R package with Efficient
Rcpp Voting Methods for Committee
Selection.
Still under development.
Development version:
# install.packages("pak")
pak::pak("bblodfon/fastVoteR")
library(fastVoteR)
# 5 candidates
candidates = paste0("V", seq_len(5))
candidates
#> [1] "V1" "V2" "V3" "V4" "V5"
# 4 voters
voters = list(
c("V3", "V1", "V4"),
c("V3", "V1"),
c("V3", "V2"),
c("V2", "V4")
)
voters
#> [[1]]
#> [1] "V3" "V1" "V4"
#>
#> [[2]]
#> [1] "V3" "V1"
#>
#> [[3]]
#> [1] "V3" "V2"
#>
#> [[4]]
#> [1] "V2" "V4"
set.seed(42)
# voter weights
weights = c(1.1, 2.5, 0.8, 0.9)
# Approval voting (all voters equal)
rank_candidates(voters, candidates)
#> candidate score norm_score borda_score
#> <char> <num> <num> <num>
#> 1: V3 3 0.75 1.00
#> 2: V1 2 0.50 0.75
#> 3: V2 2 0.50 0.50
#> 4: V4 2 0.50 0.25
#> 5: V5 0 0.00 0.00
# Approval voting (voters unequal)
rank_candidates(voters, candidates, weights)
#> candidate score norm_score borda_score
#> <char> <num> <num> <num>
#> 1: V3 4.4 0.8301887 1.00
#> 2: V1 3.6 0.6792453 0.75
#> 3: V4 2.0 0.3773585 0.50
#> 4: V2 1.7 0.3207547 0.25
#> 5: V5 0.0 0.0000000 0.00
# Satisfaction Approval voting (voters unequal)
rank_candidates(voters, candidates, weights, method = "sav")
#> candidate score norm_score borda_score
#> <char> <num> <num> <num>
#> 1: V3 2.0166667 0.8175676 1.00
#> 2: V1 1.6166667 0.6554054 0.75
#> 3: V2 0.8500000 0.3445946 0.50
#> 4: V4 0.8166667 0.3310811 0.25
#> 5: V5 0.0000000 0.0000000 0.00
# Sequential Proportional Approval voting (voters equal)
rank_candidates(voters, candidates, method = "seq_pav")
#> candidate borda_score
#> <char> <num>
#> 1: V3 1.00
#> 2: V2 0.75
#> 3: V1 0.50
#> 4: V4 0.25
#> 5: V5 0.00
See vote and votesys R packages. For strictly ABC-voting rules, see abcvoting Python package.
Please note that the fastVoteR
project is released with a Contributor
Code of
Conduct. By
contributing to this project, you agree to abide by its terms.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.