| Mode {DescTools} | R Documentation |
Calculate the mode, the most frequent value, of a variable x. This makes mostly sense for qualitative data, at most for x being an integer vector.
Mode(x, na.rm = FALSE)
x |
a (non-empty) numeric vector of data values. |
na.rm |
logical. Should missing values be removed? Defaults to FALSE. |
Returns the most frequent value. If there are more than one, all of them will be returned in a vector.
Consider using density(x)$x[which.max(density(x)$y)] for quantitative data or alternatively use hist().
Another interesting idea:
peak <- optimize(function(x, model) predict(model, data.frame(x = x)),
c(min(x), max(x)),
maximum = TRUE,
model = y.loess)
points(peak$maximum, peak$objective, pch=FILLED.CIRCLE <- 19)
Andri Signorell <andri@signorell.net>, great Rcpp part by Joseph Wood and Ralf Stubner
https://stackoverflow.com/questions/55212746/rcpp-fast-statistical-mode-function-with-vector-input-of-any-type/ https://stackoverflow.com/a/55213471/8416610
# normal mode
Mode(c(0:5, 5))
Mode(5)
Mode(NA)
Mode(c(NA, NA))
Mode(c(NA, 0:5))
Mode(c(NA, 0:5), na.rm=TRUE)
Mode(c(NA, 0:5, 5), na.rm=TRUE)
# returns all encountered modes, if several exist
Mode(c(0:5, 4, 5, 6))
data(d.pizza)
Mode(d.pizza$driver)
# use sapply for evaluating data.frames (resp. apply for matrices)
sapply(d.pizza[,c("driver","temperature","date")], Mode, na.rm=TRUE)