\name{scoreRankings} \alias{scoreRankings} \title{Score the Comparison of two Rankings} \description{ Two rankings are accepted as input in the form of corresponding ranks in two lists. The weighted overlap score is computed efficiently without explicitly computing overlaps. } \usage{ scoreRankings(r1, r2, nn, bases, two.sided=TRUE) } \arguments{ \item{r1}{integer, ranks in the first list.} \item{r2}{integer, ranks in the second list. \code{r1} and \code{r2} must have the same length.} \item{nn}{for each alpha to be used as weighting parameter, this array of integers contains the maximal rank for which overlaps are considered.} \item{bases}{for each alpha to be used as weighting parameter, this double array contains exp(-alpha).} \item{two.sided}{if \code{TRUE} both ends of the lists are taken into account, only top ranks are considered otherwise.} } \details{ The score to be computed is defined as the sum over the first ranks in two lists. The summed up measure is the weighted overlap between the two lists: \deqn{score := sum_(R=1)^n exp(-alpha R) * overlap(L1[1:R],L2[1:R])} where \eqn{n} is the maximal rank to be considered and \eqn{L1/L2} denote the sorted lists to be compared. In this score, each gene contributes from the first rank where it is in the overlap up to \eqn{n}. For gene i: \deqn{score_i = sum_(R=max(r1[i],r2[i])^n exp(-alpha R))} where \eqn{r1/r2} are the ranks of genes in \eqn{L1/L2}. Since this is a finite geometric series, it can be used to speed up computation of our score: \deqn{score_i = (exp(-alpha min(r1[i],r2[i])) - exp(-alpha n))/(1 - exp(-alpha))} \deqn{score = sum_(i|r1[i]