Description Usage Arguments Details Value References Examples
This function first normalizes a list of matrices and then calculates the
decision weight for each attribute, using the standard deviation method[1,
2], which can be categorised as an objective approach, just as
weight.differenceToIdeal
and weight.entropy
.
1 2 | weight.standard(dataset, userid = NULL, attr = NULL, rounds = "all",
cost_ids = NULL)
|
dataset |
data.frame with the user generated data from a product
configurator. See |
userid |
a vector of integers that gives the information of which users the matrix should be calculated. Vectorised. |
attr |
attributes IDs, vector of integer numbers corresponding to the attributes you desire to use; attr are assumed to be 1-indexed. This function will calculate with all attributes and do the subsetting a posteriori. If you want to get the weights for only two attributes you will have to
first use |
rounds |
integer vector or text option. Which steps of the configuration
process should be taken into account? Defaults are "all" in order to have
more data to calculate with. If |
cost_ids |
argument used to convert selected cost attributes into
benefit attributes. Integer vector. This functions uses an alternative
normalizing method |
The result is a list of vectors, each vector with the same length as the number of columns of the input matrices, i.e. each column gets a weight. The sum of a weight vector should always equal 1.
In contrast to weight.differenceToIdeal
, this function
distributes lower weights to those attributes, which have similar values
throughout the decision matrix.
Note: the normalizing function used here normalize.sum
has
one limitation, if within a same attribute there are negative and positive
values, the function will likely produce a NaN
.
cost_ids
As in the other functions, if you enter a cost_ids that is
not in your entered attributes, the functions will calculate the output
with all attributes in your data, including the cost(s) attributes and only
after the calculations does the function subset the result according to the
attr
. When the attributes and cost_ids differ, the function allows
the calculation but it will throw a warning.
a list of weight vector(s)
[1]Diakoulaki, D., Mavrotas, G., & Papayannakis, L. (1995). Determining objective weights in multiple criteria problems: the CRITIC method. Computers & Operations Research, 22(7), 763-770.
[2]Jahan, A., & Edwards, K. L. (2013). Multi-criteria decision analysis for supporting the selection of engineering materials in product design. Butterworth-Heinemann.
1 2 3 4 5 | # Not runnable yet
weight.standard(myData, 15:22)
weight.standard(laptop_data, 40:45, attr= c(1, 3, 4), cost_ids = 4)
savedWeights <- weight.standard(myData, c(6, 15, 18, 20, 26), attr = 1:4, cost_ids = 4, rounds=1:8)
lapply(savedWeights, sum) # Should return 1 for any output of this function
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.