PROMETHEE: Preference Ranking Organization METHod for Enrichment of...

Description Usage Arguments Details Value Author(s) Examples

View source: R/PROMETHEE.R

Description

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)

Usage

1
PROMETHEE(dataset, PreferenceF,PreferenceT,IndifferenceT,Weights,Min_Max,S_Gauss)

Arguments

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)

Details

Thanks are extended to Salvatore Greco, Alessio Ishizaka, and Gianpiero Torrisi for helpful comments

Value

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)

Author(s)

Giuliano Resce, Menelaos Tasiou, Francesco Vidoli

Examples

 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)

PROMETHEE documentation built on May 2, 2019, 9:14 a.m.