convert_data_discrete {DEXiR} | R Documentation |
#' A helper function for converting individual columns of alternatives' data.
It is assumed that data
contains data corresponding to a discrete
DexiAttribute. During conversion, data
elements are converted either
to sets or distributions, and function aggregate
if applied on them.
When interpret = "set"
, values are also optionally converted to the interval [omin:omax]
,
and reversed using reverse_value()
for scales whose $order = "descending"
.
convert_data_discrete(
data,
scale,
interpret = c("set", "distribution", "none"),
aggregate = min,
omin = 0,
omax = 1,
map_values = TRUE,
reverse_descending = TRUE
)
data |
A vector containing DEXi values: single numbers, integer vectors or distribuions.
Typically a |
scale |
A DexiDiscreteScale object or a discrete DexiAttribute object. |
interpret |
Either |
aggregate |
A function applied on each interpreted |
omin |
Lower output bound for |
omax |
Upper output bound for |
map_values |
|
reverse_descending |
|
Vector of converted values.
scla <- DexiDiscreteScale(values = c("L", "M", "H"))
scld <- DexiDiscreteScale(values = c("L", "M", "H"), order = "descending")
convert_data_discrete(c(1, 2, 3), scla) # 0.0 0.5 1.0
convert_data_discrete(c(1, 2, 3), scld) # 1.0 0.5 0.0
convert_data_discrete(list(1, 2, 3), scla) # 0.0 0.5 1.0
convert_data_discrete(list(1, 2, 3), scld) # 1.0 0.5 0.0
convert_data_discrete(list(1, 2, 3), scld, omax=10) # 10 5 0
data <- list(1, c(1,2), distribution(0.2, 0, 0.8), NA)
convert_data_discrete(data, scla, omax=10) # 0 0 0 NA
convert_data_discrete(data, scld, omax=10) # 10 10 10 NA
convert_data_discrete(data, scla, aggregate=max, omax=10) # 0 5 10 NA
convert_data_discrete(data, scla, aggregate=mean, omax=10) # 0.0 2.5 5.0 NA