tnorm: Truncated Normal distribution

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Density, distribution function, quantile function and random generation for the truncated Normal distribution with mean equal to mean and standard deviation equal to sd before truncation, and truncated on the interval [lower, upper].

Usage

1
2
3
4
5
6
     dtnorm(x, mean=0, sd=1, lower=-Inf, upper=Inf, log = FALSE)
     ptnorm(q, mean=0, sd=1, lower=-Inf, upper=Inf,
            lower.tail = TRUE, log.p = FALSE)
     qtnorm(p, mean=0, sd=1, lower=-Inf, upper=Inf,
            lower.tail = TRUE, log.p = FALSE)
     rtnorm(n, mean=0, sd=1, lower=-Inf, upper=Inf)

Arguments

x,q

vector of quantiles.

p

vector of probabilities.

n

number of observations. If length(n) > 1, the length is taken to be the number required.

mean

vector of means.

sd

vector of standard deviations.

lower

lower truncation point.

upper

upper truncation point.

log

logical; if TRUE, return log density or log hazard.

log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x].

Details

The truncated normal distribution has density

f(x, mu, sigma) = phi(x, mu, sigma) / (Phi(upper, mu, sigma) - Phi(lower, mu, sigma))

for lower <= x <= upper, and 0 otherwise.

mean is the mean of the original Normal distribution before truncation,
sd is the corresponding standard deviation,
u is the upper truncation point,
l is the lower truncation point,
phi(x) is the density of the corresponding normal distribution, and
Phi(x) is the distribution function of the corresponding normal distribution.

If mean or sd are not specified they assume the default values of 0 and 1, respectively.

If lower or upper are not specified they assume the default values of -Inf and Inf, respectively, corresponding to no lower or no upper truncation.

Therefore, for example, dtnorm(x), with no other arguments, is simply equivalent to dnorm(x).

Only rtnorm is used in the msm package, to simulate from hidden Markov models with truncated normal distributions. This uses the rejection sampling algorithms described by Robert (1995).

These functions are merely provided for completion, and are not optimized for numerical stability or speed. To fit a hidden Markov model with a truncated Normal response distribution, use a hmmTNorm constructor. See the hmm-dists help page for further details.

Value

dtnorm gives the density, ptnorm gives the distribution function, qtnorm gives the quantile function, and rtnorm generates random deviates.

Author(s)

C. H. Jackson chris.jackson@mrc-bsu.cam.ac.uk

References

Robert, C. P. Simulation of truncated normal variables. Statistics and Computing (1995) 5, 121–125

See Also

dnorm

Examples

1
2
3
x <- seq(50, 90, by=1)
plot(x, dnorm(x, 70, 10), type="l", ylim=c(0,0.06)) ## standard Normal distribution
lines(x, dtnorm(x, 70, 10, 60, 80), type="l")       ## truncated Normal distribution

Example output



msm documentation built on May 2, 2019, 6:51 p.m.

Related to tnorm in msm...