Description Usage Arguments Details Value Author(s) Examples
Functions which can be used to support the Multicriteria Decision Analysis (MCDA) process involving multiple criteria, by PROMETHEE (Preference Ranking Organization METHod for Enrichment of Evaluation)
1 | PROMETHEE(dataset, PreferenceF,PreferenceT,IndifferenceT,Weights,Min_Max,S_Gauss)
|
dataset |
A matrix with data (alternatives by row and criteria by column) |
PreferenceF |
A matrix with preference functions (alternatives by row and criteria by column) |
PreferenceT |
A matrix with preference thresholds (alternatives by row and criteria by column) |
IndifferenceT |
A matrix with indifference thresholds (alternatives by row and criteria by column) |
Weights |
A matrix with weights (alternatives by row and criteria by column) |
Min_Max |
A matrix that specifies whether the criteratum should be maximized or minimized (alternatives by row and criteria by column) |
S_Gauss |
A matrix with S Gaussians (alternatives by row and criteria by column) |
Thanks are extended to Salvatore Greco, Alessio Ishizaka, and Gianpiero Torrisi for helpful comments
Outranking |
Outranking matrix (alternatives by row and criteria by column) |
Nonoutranking |
Non-outranking matrix (alternatives by row and criteria by column) |
UnicriterionNetFlows |
Unicriterion net flows matrix (alternatives by row and criteria by column) |
PROMETHEE1 |
PROMETHEE I matrix (first column is Positive Flows and second column is Negative Flows, alternatives by row) |
PROMETHEE2 |
PROMETHEE II vector (Global net Flows, alternatives by row) |
Giuliano Resce, Menelaos Tasiou, Francesco Vidoli
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # Dataset
dati<-as.data.frame(cbind(c(10,25,4,2),
c(250000,270000,320000,350000),
c(3,4,2,2),
c(20,10,15,7)))
colnames(dati) = c("Distance.to.work","Price","Bedrooms","Age")
# PreferenceF
PreF<-as.data.frame(rbind(c("Gaussian","Linear","V-shape","Level"),
c("Gaussian","Linear","V-shape","Level"),
c("Gaussian","Linear","V-shape","Level"),
c("Gaussian","Linear","V-shape","Level")))
colnames(PreF) = c("Distance.to.work","Price","Bedrooms","Age")
# PreferenceT
PreT<-as.data.frame(cbind(c(2,2,2,2),
c(50000,50000,50000,50000),
c(2,2,2,2),
c(5,5,5,5)))
colnames(PreT) = c("Distance.to.work","Price","Bedrooms","Age")
# IndifferenceT
IndT<-as.data.frame(cbind(c(1,1,1,1),
c(10000,10000,10000,10000),
c(0,0,0,0),
c(2,2,2,2)))
colnames(IndT) = c("Distance.to.work","Price","Bedrooms","Age")
#Weights
Weig<-as.data.frame(cbind(c(0.25,0.25,0.25,0.25),
c(0.25,0.25,0.25,0.25),
c(0.25,0.25,0.25,0.25),
c(0.25,0.25,0.25,0.25)))
colnames(Weig) = c("Distance.to.work","Price","Bedrooms","Age")
# Min_Max
MiMa<-as.data.frame(cbind(c("min","min","min","min"),
c("min","min","min","min"),
c("max","max","max","max"),
c("min","min","min","min")))
colnames(MiMa) = c("Distance.to.work","Price","Bedrooms","Age")
#S_Gauss
gauss<-as.data.frame(cbind(c(2,2,2,2),
c(0,0,0,0),
c(0,0,0,0),
c(0,0,0,0)))
colnames(gauss) = c("Distance.to.work","Price","Bedrooms","Age")
###############################
PF = PROMETHEE(dati, PreF,PreT,IndT,Weig,MiMa,gauss)
###############################
PCA_UNIC <- prcomp(PF$UnicriterionNetFlows,center = TRUE,scale. = TRUE)
GAIA=predict(PCA_UNIC)[,1:2]
rownames(GAIA)=rownames(dati)
print(GAIA)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.