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.

TheOrdinals

TheOrdinals provides aggregation and consensus methods for ordinal preference data. The first release implements DIVA (Divide and Conquer for Preference-Approvals), a distance-based aggregation method introduced in:

Albano, A. and Romano, M. (2026). A distance-based aggregation method for finding consensus in preference-approvals. Advances in Data Analysis and Classification. https://doi.org/10.1007/s11634-025-00663-4

The package is designed to grow: further methods for ordinal preference data can be added in future releases.

Preference-approvals

A preference-approval is a pair (ranking, approval): a (weak) ranking of n alternatives together with the subset of approved alternatives, subject to a consistency condition that links the two components. A set of m preference-approvals is stored as a numeric matrix with 2n columns: the first n columns hold the ranking (positions, ties allowed) and the last n columns hold the approval indicators (1 approved, 0 not approved).

Installation

# install.packages("ConsRank")
# from a local clone of the package directory:
# install.packages("TheOrdinals", repos = NULL, type = "source")

Quick start

library(TheOrdinals)

# four voters over four alternatives
x <- rbind(
  c(1, 2, 3, 4, 1, 1, 0, 0),
  c(2, 1, 3, 4, 1, 0, 0, 0),
  c(1, 2, 4, 3, 1, 1, 0, 0),
  c(1, 3, 2, 4, 1, 1, 1, 0)
)

# DIVA consensus
res <- diva(x, algorithm = "quick")
res
res$d_lambda          # achieved average distance

# sensitivity to the ranking/approval weight
diva_sensitivity(x)$d_lambda

# distance between preference-approvals
pref_dist(x, lambda = 0.5)

Main functions

Function Purpose
diva() DIVA consensus preference-approval
diva_sensitivity() Average consensus distance over a grid of lambda
pref_dist() Distance between preference-approvals (Erdamar et al., 2014)
find_approval() Admissible approvals of a ranking
pa_universe() Universe of preference-approvals on n alternatives
is_consistent() Check the preference-approval consistency condition

Datasets

License

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.