Compute and aggregate individual priority weights from pairwise comparison matrices
Arguments
- ahpmat
A list of pairwise comparison matrices of each decision maker generated by
ahp.mat.- atts
a list of attributes in the correct order
- method
if
method = "eigen", the individual priority weights are computed using the Dominant Eigenvalues method described in Saaty (2003) . Otherwise, then the priorities are computed based on the averages of normalized values. Basically it normalizes the matrices so that all of the columns add up to 1, and then computes the averages of the row as the priority weights of each attribute. Three modes of finding the averages are available:arithmetic: the arithmetic mean;geometric: the geometric mean (the default);rootmean: the square root of the sum of the squared value.- aggmethod
how to aggregate the individual priorities. By default
aggmethod = method. Apart from the methods offered inmethod,aggmethodalso permits three other options:tmeancomputes the trimmed arithmetic mean,tgmeancomputes the trimmed geometric mean (both with quantiles trimmed based onqt), andsdcomputes the standard deviation from the arithmetic mean. Ifmethod = "eigen"andaggmethodis not specified,aggmethoddefaults to"geometric".- qt
specifies the quantile which the top and bottom priority weights are trimmed. Used only if
aggmethod = 'tmean'oraggmethod = 'tgmean'. For example,qt = 0.25specifies that the aggregation is the arithmetic mean of the values from the 25 to 75 percentile. By defaultqt = 0.
References
Saaty TL (2003). “Decision-making with the AHP: Why is the principal eigenvector necessary.” European Journal of Operational Research, 145(1), 85 - 91. ISSN 0377-2217. http://www.sciencedirect.com/science/article/pii/S0377221702002278.
Examples
## Computes individual priorities with geometric mean and aggregates them
## with a trimmed arithmetic mean
library(magrittr)
data(city200)
atts <- c('cult', 'fam', 'house', 'jobs', 'trans')
cityahp <- ahp.mat(df = city200, atts = atts, negconvert = TRUE)
ahp.aggpref(cityahp, atts, method = 'geometric', aggmethod = 'tmean', qt = 0.1)
#> cult fam house jobs trans
#> 0.15294730 0.44635741 0.07186528 0.28517952 0.03898955