The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Mode Estimation, Even in the Multimodal Case
Version: 0.0.1
Description: Function ModEstM() is the only one of this package, it estimates the modes of an empirical univariate distribution. It relies on the stats::density() function, even for input control. Due to very good performance of the density estimation, computation time is not an issue. The multiple modes are handled using dplyr::group_by(). For conditions and rates of convergences, see Eddy (1980) <doi:10.1214/aos/1176345080>.
Depends: R (≥ 4.1)
License: GPL-3
Encoding: UTF-8
RoxygenNote: 7.1.2
Imports: dplyr, rlang, stats
NeedsCompilation: no
Packaged: 2022-05-19 07:10:02 UTC; Jerome
Author: Jerome Collet [aut, cre]
Maintainer: Jerome Collet <jeromepcollet@gmail.com>
Repository: CRAN
Date/Publication: 2022-05-19 08:10:02 UTC

Computes the modes, i.e. the local maxima fo the density function for a given empirical distribution

Description

Computes the modes, i.e. the local maxima fo the density function for a given empirical distribution

Usage

ModEstM(x, ...)

Arguments

x

: the random values

...

: other parameters, passed to density. The main use of this feature is to increase "adjust" in order to suppress spurious local density maxima.

Value

a list of the modes, in decreasing order of the corresponding density. It allows to suppress the less significant modes, if necessary.

Examples

require(dplyr)

x1 <- c(rbeta(1000, 23, 4))
x2 <- c(rbeta(1000, 23, 4), rbeta(1000, 4, 16))

Distribs <-
  rbind(data.frame(case = 1, XX = x1), data.frame(case = 2, XX = x2))

Adjust <- 1

Modes <- Distribs |> 
  group_by(case) |> 
  summarise(mode = ModEstM(XX, adjust = Adjust))
Modes$case
Modes$mode

ChosenCase <- 2

values <- Distribs |>
  filter(case == ChosenCase) |> 
  pull(XX)
plot(density(values, adjust = Adjust))
abline(v = Modes |> filter(case == ChosenCase) |> pull(mode) |> unlist())

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.