Truncated Normal distribution
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]
.
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)
x,q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations. If |
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]. |
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).
dtnorm
gives the density, ptnorm
gives the distribution
function, qtnorm
gives the quantile function, and rtnorm
generates random deviates.
C. H. Jackson chris.jackson@mrc-bsu.cam.ac.uk
Robert, C. P. Simulation of truncated normal variables. Statistics and Computing (1995) 5, 121–125
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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.