multimode (version 1.4)

nmodes: Number of modes

Description

This function computes the number of modes in a kernel density estimator using the Gaussian kernel and a given bandwidth parameter.

Usage

nmodes(data,bw,lowsup=-Inf,uppsup=Inf,n=2^15,full.result=F)

Arguments

data

Sample for computing a kernel density estimator and determine the number of modes.

bw

Bandwidth parameter for kernel density estimation.

lowsup

Lower limit for the random variable support. Just the number of modes greater than lowsup are taken into account. Default is -Inf.

uppsup

Upper limit for the random variable support. Just the number of modes greater than lowsup are taken into account. Default is Inf.

n

The number of equally spaced points at which the density is to be estimated. When n > 512, it is rounded up to a power of 2 as in the density function. Default n=2^15.

full.result

If this argument is TRUE then it returns the full result list, see below. Default full.result=FALSE.

Value

Depending on full.result either a number, the number of modes for the bandwidth provided in bw, or an object of class "estmod" which is a list containing the following components:

nmodes

The number of modes for the bandwidth provided in bw.

sample.size

The number of non-missing observations in the sample used for computing the number of modes.

bw

Employed bandwidth for kernel density estimation.

lowsup

Lower limit of the support where the number of modes are computed.

ippsup

Upper limit of the support where the number of modes are computed.

fnx

The n coordinates of the points where the density is estimated for computing the number of modes.

fny

The estimated density values.

Details

The number of modes in the interval provided by lowsup and uppsup is computed. For this calculation, a kernel density estimator with Gaussian kernel and bandwidth bw is used.

The NAs will be automatically removed.

Examples

Run this code
# NOT RUN {
# Number of modes in the interval (-1.5,1.5), using the bandwidth 0.5.
set.seed(2016)
data=rnorm(50)
nmodes(data,0.5,-1.5,1.5)
# }

Run the code above in your browser using DataLab