stableMode {wrMisc} | R Documentation |
Estimate Mode (Most Frequent Value)
Description
Estimate mode, ie most frequent value. In case of continuous numeric data, the most frequent values may not be the most frequently repeated exact term. This function offers various approches to estimate the mode of a numeric vector. Besides, it can also be used to identify the most frequentexact term (in this case also from character vectors).
Usage
stableMode(
x,
method = "density",
finiteOnly = TRUE,
bandw = NULL,
rangeSign = 1:6,
silent = FALSE,
callFrom = NULL,
debug = FALSE
)
Arguments
x |
(numeric, or character if 'method='mode') data to find/estimate most frequent value |
method |
(character) There are 3 options : BBmisc, binning and density (default). If "binning" the function will search context dependent, ie like most frequent class of histogram. Using "binning" mode the search will be refined if either 80 percent of values in single class or >50 percent in single class. |
finiteOnly |
(logical) suppress non-finite values; allows avoiding |
bandw |
(integer) only used when |
rangeSign |
(integer) only used when |
silent |
(logical) suppress messages |
callFrom |
(character) allows easier tracking of messages produced |
debug |
(logical) additional messages for debugging |
Details
The argument method
allows to choose among (so far) 4 different methods available.
If "density" is chosen, the most dense region of sqrt(n) values will be chosen;
if "binning", the data will be binned (like in histograms) via rounding to a user-defined number of significant values ("rangeSign").
If method
is set to "BBmisc", the function computeMode()
from package BBmisc will be used.
If "mode" is chosen, the first most frequently occuring (exact) value will be returned, if "allModes", all ties will be returned. This last mode also works with character input.
Value
This function returns a numeric vector with value of mode, the name of the value indicates it's position
See Also
computeMode()
in package BBmisc
Examples
set.seed(2012); dat <- round(c(rnorm(50), runif(100)),3)
stableMode(dat)