# tnorm

##### 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]`

.

##### Usage

```
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, 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(u, \mu, \sigma) - \Phi(l, \mu, \sigma))$$ for $l <= 0="" x="" <="u$," and="" otherwise.="" p="">

$\mu$ is the mean of the original Normal distribution before
truncation,
$\sigma$ 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. These functions are merely provided for completion,
and are not optimized for numerical stability. 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.

##### See Also

##### Examples

```
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
```

*Documentation reproduced from package msm, version 0.5.1, License: GPL version 2 or newer*