Distance between a set of rankings and a given rank sequence
Compute the distance between a matrix of rankings and a rank sequence.
rank_distance(rankings, rho, metric, obs_freq = 1)
rankings |
A matrix of size N x n_items of
rankings in each row. Alternatively, if N equals 1, |
rho |
A ranking sequence. |
metric |
Character string specifying the distance measure to use.
Available options are |
obs_freq |
Vector of observation frequencies of length N, or of length 1, which means that all ranks are given the same weight. Defaults to 1. |
The implementation of Cayley distance is based on a C++
translation of Rankcluster::distCayley
(Grimonprez and Jacques 2016).
A vector of distances according to the given metric
.
Grimonprez Q, Jacques J (2016). Rankcluster: Model-Based Clustering for Multivariate Partial Ranking Data. R package version 0.94, https://CRAN.R-project.org/package=Rankcluster.
# Distance between two vectors of rankings: rank_distance(1:5,5:1, metric = "kendall") rank_distance(c(2, 4, 3, 6, 1, 7, 5), c(3, 5, 4, 7, 6, 2, 1), metric = "cayley") rank_distance(c(4, 2, 3, 1), c(3, 4, 1, 2), metric = "hamming") rank_distance(c(1, 3, 5, 7, 9, 8, 6, 4, 2), c(1, 2, 3, 4, 9, 8, 7, 6, 5), "ulam") rank_distance(c(8, 7, 1, 2, 6, 5, 3, 4), c(1, 2, 8, 7, 3, 4, 6, 5), "footrule") rank_distance(c(1, 6, 2, 5, 3, 4), c(4, 3, 5, 2, 6, 1), "spearman") # Difference between a metric and a vector # We set the burn-in and thinning too low for the example to run fast data0 <- sample_mallows(rho0 = 1:10, alpha = 20, n_samples = 1000, burnin = 10, thinning = 1) rank_distance(rankings = data0, rho = 1:10, metric = "kendall")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.