Performs a complete and exact rank analysis of a given partial ranking. This includes rank probabilities, relative rank probabilities and expected ranks.

exact_rank_prob(P, names = "", only.results = T, verbose = F, force = F)



A partial ranking as matrix object calculated with neighborhood_inclusion or positional_dominance.


Optional argument for names if P does not have row/column names.


Logical. return only results (default) or additionally the ideal tree and lattice if FALSE.


Logical. should diagnostics be printed. Defaults to FALSE.


Logical. If FALSE (default), stops the analysis if the partial ranking has more than 40 elements and less than 0.4 comparable pairs. Only change if you know what you are doing.



Number of possible rankings that extend P.


Array giving the equivalence classes of P.


Matrix containing rank probabilities: rank.prob[u,k] is the probability that u has rank k.


Matrix containing relative rank probabilities: relative.rank[u,v] is the probability that u is ranked lower than v.


Expected ranks of nodes in any centrality ranking.


Standard deviation of the ranking probabilities.


Random ranking used to build the lattice of ideals (if only.results = FALSE).


Adjacency list (incoming) of the tree of ideals (if only.results = FALSE).


Adjacency list (incoming) of the lattice of ideals (if only.results = FALSE).


List of order ideals (if only.results = FALSE).

In all cases, higher numerical ranks imply a higher position in the ranking. That is, the lowest ranked node has rank 1.


The function derives rank probabilities from a given partial ranking (for instance returned by neighborhood_inclusion or positional_dominance). This includes the calculation of expected ranks, (relative) rank probabilities and the number of possible rankings. Note that the set of rankings grows exponentially in the number of elements and the exact calculation becomes infeasible quite quickly and approximations need to be used. See vignette("benchmarks") for guidelines and approx_rank_relative, approx_rank_expected, and mcmc_rank_prob for approximative methods.


De Loof, K. 2009. Efficient computation of rank probabilities in posets. Phd thesis, Ghent University.

De Loof, K., De Meyer, H. and De Baets, B., 2006. Exploiting the lattice of ideals representation of a poset. Fundamenta Informaticae, 71(2,3):309-321.

See also

approx_rank_relative, approx_rank_expected, mcmc_rank_prob


P <- matrix(c(0,0,1,1,1,0,0,0,1,0,0,0,0,0,1,rep(0,10)),5,5,byrow=TRUE) P
#> [,1] [,2] [,3] [,4] [,5] #> [1,] 0 0 1 1 1 #> [2,] 0 0 0 1 0 #> [3,] 0 0 0 0 1 #> [4,] 0 0 0 0 0 #> [5,] 0 0 0 0 0
res <- exact_rank_prob(P) #a warning is displayed if only one ranking is possible tg <- threshold_graph(20,0.2) P <- neighborhood_inclusion(tg) res <- exact_rank_prob(P)
#> Warning: P is already a ranking. #> Expected Ranks correspond to the only possible ranking.