ahp
is a canned routine that returns a data.frame
of individuals' priorities (based on ahp.indpref), number of missing values, consistency ratios, and top three pairs of inconsistent pairwise comparisons. An optional argument agg
allows the user to generate a data.frame of aggregated priorities alongside individual priorities.
ahp(
df,
atts,
negconvert = FALSE,
reciprocal = TRUE,
method = "eigen",
aggmethod = "geometric",
qt = 0,
censorcr = Inf,
agg = FALSE,
ID = NULL,
col = NULL,
suppress = "none"
)
a dataframe, each row corresponding to one decision-maker, with columns ordered according to atts
.
a list of attributes in the correct order
logical, whether to convert all positive values to
negative. In the pairwise comparison A_B, if -6 denotes A is more
important than B by 6 units, set negconvert = TRUE
.
logical, whether to convert negative values (after negconvert
) to its reciprocal. If the comparison A_B where B is more important than A was already entered in its reciprocal (e.g. 1/6), choose reciprocal = FALSE
. When reciprocal = FALSE
, do not set negconvert = TRUE
.
if method = "eigen"
, the individual priority weights are computed using the Dominant Eigenvalues method described in Saaty2003;textualahpsurvey. 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.
how to aggregate the individual priorities. By default aggmethod = method
. Apart from the methods offered in method
, aggmethod
also permits three other options: tmean
computes the trimmed arithmetic mean, tgmean
computes the trimmed geometric mean (both with quantiles trimmed based on qt
), and sd
computes the standard deviation from the arithmetic mean. If method = "eigen"
and aggmethod
is not specified, aggmethod
defaults to "geometric"
.
specifies the quantile which the top and bottom priority weights are trimmed. Used only if aggmethod = 'tmean'
or aggmethod = 'tgmean'
. For example, qt = 0.25
specifies that the aggregation is the arithmetic mean of the values from the 25 to 75 percentile. By default qt = 0
.
the threshold of censoring observations. All observations with a consistency ratio higher than the specified CR will be dropped from the routine. By default, censorcr = Inf
, i.e. drops no observations.
by default, agg = FALSE
, which suppresses the output of Aggregated priorities. If agg = TRUE
, the output will be a list where $AggPref
contains the Aggregated priorities and Standard Deviations.
the column name, or a vector of column names, of variables in df
, which are used to indicate specific observations. For example, if a survey dataset comes with an identifier/ multiple identified for each observation, use this so that the output dataframe would contain this identifier.
a list of column names which contains the columns for the pairwise comparison matrix in chronological order, as specified in atts
. For example, if atts
is c("A","B","C")
, then col
would be c("A_B","A_C","B_C")
, with "A_B"
being a pairwise comparison of attribute A and B. col = NULL
by default, indicating that the dataframe specified already contained the pairwise comparisons in correct order and nothing else except of what is inside ID
.
Suppresses the supplementary indices. Can take the values of "all" (suppresses all indices), "pwerror" (suppresses pwerror), or "cr" (suppresses consistency ratio).
If agg = TRUE
, returns a list of the results with two elements, indpref
and aggpref
. $indpref
contains individual preference weight (same as ahp.indpref
), consistency ratios, and the top three most inconsistent pairwise comparisons (same as ahp.pwerror
). $aggpref
contains the Aggregated Priorities and Standard Deviations. Otherwise (i.e. default setting), outputs a data.frame
with only $indpref
.
Saaty2004ahpsurvey
# NOT RUN {
data(city200)
ahp(df = city200, atts = c('cult', 'fam', 'house', 'jobs', 'trans'), negconvert = TRUE)
# }
Run the code above in your browser using DataLab