Learn R Programming

DEXiR (version 1.0.2)

compare_values_on_scale: compare_values_on_scale

Description

Compare values value1 and value2 considering scale$order. Internal DEXi representation is assumed for values, i.e., a single number, an integer vector representing a set or distribution(). Distributions are compared as sets.

Usage

compare_values_on_scale(value1, value2, scale, force_compare = FALSE)

Value

compare_values() result, modified according to scale$order.

Arguments

value1

First value.

value2

Second value.

scale

Normally a DEXiScale object or a DexiAttribute object with defined $scale.

force_compare

logical(1). Applies when scale is NULL or anything other than expected. When force_compare = TRUE, comparison is enforced, assuming "ascending" scale order. When force_compare = FALSE, NA is returned.

See Also

compare_values(), compare_values_by_preference()

Examples

Run this code
compare_values_on_scale(1, 2, NULL)                       # NA
compare_values_on_scale(2, 1, "")                         # NA
compare_values_on_scale(1, 2, NULL, force_compare = TRUE) # -1
compare_values_on_scale(2, 1, "", force_compare = TRUE)   # +1

scl <- DexiDiscreteScale(values = c("a", "b", "c"))
compare_values_on_scale(1, 1, scl)             # 0
compare_values_on_scale(1, 2, scl)             # -1
compare_values_on_scale(3, 2, scl)             # +1
compare_values_on_scale(c(1, 2), c(1, 2), scl) # 0
compare_values_on_scale(c(1, 2), c(2, 3), scl) # NA

scl <- DexiDiscreteScale(order = "descending", values = c("a", "b", "c"))
compare_values_on_scale(1, 1, scl)             # 0
compare_values_on_scale(1, 2, scl)             # +1
compare_values_on_scale(3, 2, scl)             # -1
compare_values_on_scale(c(1, 2), c(1, 2), scl) # 0
compare_values_on_scale(c(1, 2), c(2, 3), scl) # NA

scl <- DexiDiscreteScale(order = "none", values = c("a", "b", "c"))
compare_values_on_scale(1, 1, scl)             # 0
compare_values_on_scale(1, 2, scl)             # NA
compare_values_on_scale(3, 2, scl)             # NA
compare_values_on_scale(c(1, 2), c(1, 2), scl) # 0
compare_values_on_scale(c(1, 2), c(2, 3), scl) # NA

Run the code above in your browser using DataLab