RBesT (version 1.7-3)

mixnorm: Normal Mixture Density

Description

The normal mixture density and auxiliary functions.

Usage

mixnorm(..., sigma, param = c("ms", "mn"))

mn2norm(m, n, sigma, drop = TRUE)

# S3 method for normMix print(x, ...)

# S3 method for normMix summary(object, probs = c(0.025, 0.5, 0.975), ...)

# S3 method for normMix sigma(object, ...)

sigma(object) <- value

Value

Returns a normal mixture with the specified mixture components. mn2norm returns the mean and standard deviation given a mean and sample size parametrization.

Arguments

...

List of mixture components.

sigma

Reference scale.

param

Determines how the parameters in the list are interpreted. See details.

m

Vector of means

n

Vector of sample sizes.

drop

Delete the dimensions of an array which have only one level.

x

The mixture to print

object

Normal mixture object.

probs

Quantiles reported by the summary function.

value

New value of the reference scale sigma.

Functions

  • sigma(object) <- value: Allows to assign a new reference scale sigma.

Details

Each entry in the ... argument list is expected to be a triplet of numbers which defines the weight \(w_k\), first and second parameter of the mixture component \(k\). A triplet can optionally be named which will be used appropriately.

The first and second parameter can be given in different parametrizations which is set by the param option:

ms

Mean and standard deviation. Default.

mn

Mean and number of observations. n determines s via the relation \(s=\sigma/\sqrt{n}\) with \(\sigma\) being the fixed reference scale.

The reference scale \(\sigma\) is the fixed standard deviation in the one-parameter normal-normal model (observation standard deviation). The function sigma can be used to query the reference scale and may also be used to assign a new reference scale, see examples below. In case the sigma is not specified, the user has to supply sigma as argument to functions which require a reference scale.

See Also

Other mixdist: mixbeta(), mixcombine(), mixgamma(), mixmvnorm(), mixplot, mix

Examples

Run this code

nm <- mixnorm(rob=c(0.2, 0, 2), inf=c(0.8, 2, 2), sigma=5)

print(nm)
summary(nm)
plot(nm)

set.seed(57845)
mixSamp <- rmix(nm, 500)
plot(nm, samp=mixSamp)

# support defined by quantiles
qmix(nm, c(0.01, 0.99))

# density function
dmix(nm, seq(-5,5,by=2))

# distribution function
pmix(nm, seq(-5,5,by=2))

# the reference scale can be changed (it determines the ESS)
ess(nm)

sigma(nm) <- 10
ess(nm)

Run the code above in your browser using DataLab