ranktree {ConsRankClass}R Documentation

Recursive partitioning method for the prediction of preference rankings based upon Kemeny distances


Recursive partitioning method for the prediction of preference rankings based upon Kemeny distances.


ranktree(Y, X, prunplot = FALSE, control = ranktreecontrol(...), ...)



A n by m data matrix, in which there are n judges and m objects to be judged. Each row is a ranking of the objects which are represented by the columns.


A dataframe containing the predictor, that must have n rows.


prunplot=TRUE returns the plot of the pruning sequence. Default value: FALSE


a list of options that control details of the ranktree algorithm governed by the function ranktreecontrol. The options govern the minimum size within node to split (the default value is 0.1*n, where n is the total sample size), the bound on the decrease in impurity, (default, 0.01), the algorithm chosen to compute the median ranking (default, "quick"), and other options related to the consrank algorithm, which is called by ranktree


arguments passed bypassing ranktreecontrol


The user can use any algorithm implemented in the consrank function from the ConsRank package. All algorithms allow the user to set the option 'full=TRUE' if the median ranking(s) must be searched in the restricted space of permutations instead of in the unconstrained universe of rankings of n items including all possible ties. The output consists in a object of the class "ranktree". It contains:

X the predictors: it must be a dataframe
Y the response variable: the matrix of the rankings
node a list containing teh tree-based structure:
number node number
terminal logical: TRUE is terminal node
father father node number of the current node
idfather id of the father node of the current node
size sample size within node
impur impurity at node
wimpur weighted impurity at node
idatnode id of the observations within node
class median ranking within node in terms of orderings
nclass median ranking within node in terms of rankings
mclass eventual multiple median rankings
tau Tau_x rank correlation coefficient at node
wtau weighted Tau_x rank correlation coefficient at node
error error at node
werror weighted error at node
varsplit variables generating split
varsplitid id of variables generating split
cutspli splitting point
children children nodes generated by current node
idchildren id of children nodes generated by current node
... other info about node
control parameters used to build the tree
numnodes number of nodes of the tree
tsynt list containing the synthesis of the tree:
children list containing all information about leaves
parents list containing all information about parent nodes
geneaoly data frame containing information about all nodes
idgenealogy data frame containing information about all nodes in terms of nodes id
idparents id of the parents of all the nodes
goodness goodness -and badness- of fit measures of the tree: Tau_X, error, impurity
nomin information about nature of the predictors
alpha alpha parameter for pruning sequence
pruneinfo list containing information about the pruning sequence:
prunelist information about the pruning
tau tau_X rank correlation coefficient of each subtree
error error of each subtree
termnodes number of terminal nodes of each subtree
subtrees list of each subtree created with the cost-complexity pruning procedure


An object of the class ranktree. See details for detailed information.


Antonio D'Ambrosio antdambr@unina.it


D'Ambrosio, A., and Heiser W.J. (2016). A recursive partitioning method for the prediction of preference rankings based upon Kemeny distances. Psychometrika, vol. 81 (3), pp.774-94.

See Also

ranktreecontrol, plot.ranktree, summary.ranktree, getsubtree, validatetree, treepaths, nodepath


tree <- ranktree(Univranks$rankings,Univranks$predictors,num=50)

#build the tree with default options
tree <- ranktree(Irish$rankings,Irish$predictors)

#plot the tree

#visualize information

#get information about the paths leading to terminal nodes (all the paths)
infopaths <- treepaths(tree)

#the terminal nodes

#sample size within each terminal node

#visualize the path of the second leave (terminal node number 8)


set.seed(132) #for reproducibility
#validation of the tree via v-fold cross-validation (default value of V=5)
vtree <- validatetree(tree,method="cv")

#extract the "best" tree
dtree <- getsubtree(tree,vtree$best_tau)


#plot the validated tree

#predicted rankings
rankfit <- predict(dtree,newx=Irish$predictors)

#fit of rankings

#fit in terms of orderings

#all info about the fit (id og the leaf, predictor values, and fit)

[Package ConsRankClass version 1.0.0 Index]