Infer the measurement level of a vector
Source:R/dataset_profile.R
morie_infer_measurement_level.RdMirrors the Python morie.infer_measurement_level(). Heuristically
classifies a vector as one of "binary", "nominal", "ordinal",
"interval", or "ratio" based on Stevens' (1946) typology.
Details
Rules: logical or 2-level factor/character -> "binary"; ordered factor ->
"ordinal"; unordered factor or character -> "nominal"; integer/numeric
with non-negative range -> "ratio"; otherwise -> "interval".
Examples
morie_infer_measurement_level(c(0, 1, 1, 0)) # "binary"
#> [1] "binary"
morie_infer_measurement_level(factor(c("a", "b", "c"))) # "nominal"
#> [1] "nominal"
morie_infer_measurement_level(ordered(c("low", "med", "high"))) # "ordinal"
#> [1] "ordinal"
morie_infer_measurement_level(c(1.2, 3.4, 5.6)) # "ratio"
#> [1] "ratio"
morie_infer_measurement_level(c(-1.5, 0.0, 2.3)) # "interval"
#> [1] "interval"