The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

socialranking

Codecov test coverage CRAN status

The package socialranking offers functions to represent ordinal information of coalitions and calculate the power relation between elements or players.

Installation

Install the package directly from CRAN with:

install.packages("socialranking")

You can also install the development version of socialranking from GitHub with:

# install.packages("devtools")
devtools::install_github("jassler/socialranking")

Usage

The package socialranking offers functions to represent ordinal information of coalitions and calculate the power relation between elements or players.

Once installed, call library(socialranking) to load the package into your current environment.

PowerRelation() and as.PowerRelation() creates a PowerRelation object. createPowerset() is a convenient function to generate a PowerRelation() or as.PowerRelation() function call for all possible coalitions.

library(socialranking)
if(interactive()) {
  createPowerset(1:3, copyToClipboard = TRUE)
}

# pasted, rearranged, adjusted comparators
as.PowerRelation("
  123
  > 12
  ~ 13
  > 2
  ~ 23
  > 1
  > 3
")
#> 123 > (12 ~ 13) > (2 ~ 23) > 1 > 3

# equivalent
pr <- as.PowerRelation(
  list(c(1,2,3), c(1,2), c(1,3), c(2), c(2,3), c(1), c(3)),
  comparators = c(">", "~", ">", "~", ">", ">")
)

# equivalent
pr <- as.PowerRelation("123 > 12 ~ 13 > 2 ~ 23 > 1 > 3")
pr
#> 123 > (12 ~ 13) > (2 ~ 23) > 1 > 3

pr$elements
#> [1] 1 2 3
pr$eqs[[2]]
#> [[1]]
#> [1] 1 2
#> 
#> [[2]]
#> [1] 1 3

The functions used to analyze power relations can be grouped into comparison functions, score functions and ranking solutions. Ranking solutions produce a SocialRankingSolution object.

Comparison Functions Score Functions Ranking Solutions
dominates()
cumulativelyDominates() cumulativeScores()
cpMajorityComparison()^1 copelandScores() copelandRanking()
kramerSimpsonScores() kramerSimpsonRanking()
ordinalBanzhafScores() ordinalBanzhafRanking()
lexcelScores() lexcelRanking()
dualLexcelRanking()
L1Scores() L1Ranking()
LPScores() LPRanking()
LPSScores() LPSRanking()

^1 cpMajorityComparisonScore() is a faster alternative to cpMajorityComparison(), but it produces less data.

dominates(pr, 1, 2)
#> [1] FALSE

copelandRanking(pr)
#> 1 ~ 2 > 3

lexcelScores(pr, 1)
#> $`1`
#> [1] 1 2 0 1 0
#> 
#> attr(,"class")
#> [1] "LexcelScores"

PowerRelation objects can be turned into relations objects from the relations package using powerRelationMatrix() or as.relation().

Use browseVignettes("socialranking") for further information.

License

This package is licensed under GPL-3.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.