R/measurement.R

Defines functions is.ordinal is.nominal is.interval is.ratio

Documented in is.interval is.nominal is.ordinal is.ratio

## levels of measurement ################################################################

setMethod("measurement","ANY",function(x)NULL)
setMethod("measurement","item",function(x){
  if(length(x@measurement)) return(x@measurement)
  else if(length(x@value.labels) || is.character(x)) return("nominal")
  else return("interval")
})

setReplaceMethod("measurement","item",function(x,value){
  if(length(value)) value <- as.measurement.level(value)
  x@measurement <- value
  invisible(x)
})

setMethod("as.measurement.level","character",function(x=c("interval","nominal","ordinal","ratio")) match.arg(x))
setMethod("as.measurement.level","NULL",function(x) "interval")

is.ordinal <- function(x) measurement(x) == "ordinal"
is.nominal <- function(x) measurement(x) == "nominal"
is.interval <- function(x) measurement(x) == "interval"
is.ratio <- function(x) measurement(x) == "ratio"

Try the memisc package in your browser

Any scripts or data that you put into this service are public.

memisc documentation built on May 2, 2019, 5:45 p.m.