Title: | Weighted Method for Multiple-Criteria Decision Making |
---|---|
Description: | Evaluation of alternatives based on multiple criteria using weighted technique for Order preference by similarity to an ideal solution method. Reference: Hwang CL. (1981, ISBN:978-3-540-10558-9). |
Authors: | zhengyu wu [aut, cre, ctb] |
Maintainer: | zhengyu wu <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0 |
Built: | 2025-02-13 03:56:47 UTC |
Source: | https://github.com/zhengyu888/wttopsis |
data2max Maximized the data.
data2max(data, mth, zmth, xbest, qlow, qup)
data2max(data, mth, zmth, xbest, qlow, qup)
data |
The Data that needs to be maximized. |
mth |
A vector describing the type of each indicator. |
zmth |
A vector describing the method from negative to positive, including DS: reciprocal method, it is not recommended to use when the data has 0, CZ: using the maximum subtraction method, other types of indicators are marked as NA. |
xbest |
An optimal value vector of intermediate numerical values,other types of indicators are marked as NA. |
qlow |
An interval lower bound vector with interval numeric value forward,other types of indicators are marked as NA. |
qup |
An interval upper bound vector of the interval value maximize,other types of indicators are marked as NA. |
A maximized data set
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) data2max(sampleData,mth,zmth,xbest,qlow,qup)
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) data2max(sampleData,mth,zmth,xbest,qlow,qup)
DataNormal Normalize the maximized data set.
DataNormal(data)
DataNormal(data)
data |
A maximized data set |
A Normalized data set
## Not run: sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) maxdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) DataNormal(maxdata) ## End(Not run)
## Not run: sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) maxdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) DataNormal(maxdata) ## End(Not run)
DataNormalpre Prepare the normalized data set.
DataNormalpre(data, i)
DataNormalpre(data, i)
data |
A maximized data set |
i |
Index column |
Index column normalized
Ejcaul Calculate Ej value.
Ejcaul(data, i)
Ejcaul(data, i)
data |
A normalized data set. |
i |
Index column. |
Index column weight Ej
Errmax Function on error.
Errmax(x, i)
Errmax(x, i)
x |
The Data that needs to be maximized. |
i |
Index column. |
Index column maximized.
GetWeight Calculate weights on standardized data us the entropy method.
GetWeight(data)
GetWeight(data)
data |
A Normalized data set |
WeightEij is Ej value of Index,weight is weight value of Index
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) weightdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) GetWeight(weightdata)
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) weightdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) GetWeight(weightdata)
max2max positive Data conversion.
max2max(x, i)
max2max(x, i)
x |
The Data that needs to be maximized. |
i |
Index column. |
Index column maximized
min2maxC negative Data conversion use Maximum subtraction method
min2maxC(x, i)
min2maxC(x, i)
x |
The Data that needs to be maximized. |
i |
Index column. |
Index column maximized
min2maxD negative Data conversion use reciprocal method
min2maxD(x, i)
min2maxD(x, i)
x |
The Data that needs to be maximized. |
i |
Index column. |
Index column maximized
qj2max Interval Data conversion
qj2max(x, qlow, qup, i)
qj2max(x, qlow, qup, i)
x |
The Data that needs to be maximized. |
qlow |
An interval lower bound vector with interval numeric value forward,other types of indicators are marked as NA. |
qup |
An interval upper bound vector of the interval value maximize,other types of indicators are marked as NA. |
i |
Index column. |
Index column maximized
A example of multiple-criteria decision making data.
sampleData
sampleData
A data fram with 21 rows and 11 variables.
Randomly generated.
WtTopsis Weighted TOPSIS method for multiple-criteria decision making (MCDM).
WtTopsis(data, mth, zmth, xbest, qlow, qup)
WtTopsis(data, mth, zmth, xbest, qlow, qup)
data |
The Data that needs to be maximized. |
mth |
A vector describing the type of each indicator. |
zmth |
A vector describing the method from negative to positive, including DS: reciprocal method, it is not recommended to use when the data has 0, CZ: using the maximum subtraction method, other types of indicators are marked as NA. |
xbest |
An optimal value vector of intermediate numerical values,other types of indicators are marked as NA. |
qlow |
An interval lower bound vector with interval numeric value forward,other types of indicators are marked as NA. |
qup |
An interval upper bound vector of the interval value maximize,other types of indicators are marked as NA. |
Data set containing D+,D- and C values
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) WtTopsis(sampleData,mth,zmth,xbest,qlow,qup)
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) WtTopsis(sampleData,mth,zmth,xbest,qlow,qup)
WtTopsis Weighted TOPSIS method for multiple-criteria decision making (MCDM) us Normalized data.
WtTopsisN(data)
WtTopsisN(data)
data |
Normalized data. |
Data set containing D+,D- and C values
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) maxdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) normaldata<-DataNormal(maxdata) WtTopsisN(normaldata)
sampleData<-sampleData mth<-c("ZH","ZJ","QJ","ZH","FU","ZH","QJ","FU","FU","ZH") zmth<-c(NA,NA,NA,NA,"CZ",NA,NA,"DS","CZ",NA) xbest<-c(NA,4,NA,NA,NA,NA,NA,NA,NA,NA) qup<-c(NA,NA,5,NA,NA,NA,5,NA,NA,NA) qlow<-c(NA,NA,3,NA,NA,NA,3,NA,NA,NA) maxdata<-data2max(sampleData,mth,zmth,xbest,qlow,qup) normaldata<-DataNormal(maxdata) WtTopsisN(normaldata)
zj2max Intermediate Data conversion
zj2max(x, xbest, i)
zj2max(x, xbest, i)
x |
The Data that needs to be maximized. |
xbest |
An optimal value vector of intermediate numerical values,other types of indicators are marked as NA. |
i |
Index column. |
Index column maximized