Skip to contents

Given a list of datasets, return the indexes of the pair with the largest EAF differences according to the method proposed by DiaLop2020ejor.

Usage

largest_eafdiff(x, maximise = FALSE, intervals = 5L, reference, ideal = NULL)

Arguments

x

list()
A list of matrices or data frames with at least 3 columns (last column indicates the set).

maximise

logical()
Whether the objectives must be maximised instead of minimised. Either a single logical value that applies to all objectives or a vector of logical values, with one value per objective.

intervals

integer(1)
The absolute range of the differences \([0, 1]\) is partitioned into the number of intervals provided.

reference

numeric()
Reference point as a vector of numerical values.

ideal

numeric()
Ideal point as a vector of numerical values. If NULL, it is calculated as minimum (or maximum if maximising that objective) of each objective in the input data.

Value

list()
A list with two components pair and value.

References

Examples

# FIXME: This example is too large, we need a smaller one.
data(tpls50x20_1_MWT)
nadir <- apply(tpls50x20_1_MWT[,2:3], 2L, max)
x <- largest_eafdiff(split.data.frame(tpls50x20_1_MWT[,2:4], tpls50x20_1_MWT[, 1L]),
                     reference = nadir)
str(x)
#> List of 2
#>  $ pair : int [1:2] 3 6
#>  $ value: num 777017