The function dtnorm()
computes the density of a truncated normal
distribution.
The function rtnorm()
samples from a truncated normal distribution.
The function dttnorm()
and rttnorm()
compute the density and sample from
a two-sided truncated normal distribution, respectively.
The functions with suffix _cpp
perform no input checks, hence are faster.
Usage
dtnorm_cpp(x, mean, sd, point, above, log = FALSE)
dttnorm_cpp(x, mean, sd, lower, upper, log = FALSE)
rtnorm_cpp(mean, sd, point, above, log = FALSE)
rttnorm_cpp(mean, sd, lower, upper, log = FALSE)
dtnorm(x, mean, sd, point, above, log = FALSE)
dttnorm(x, mean, sd, lower, upper, log = FALSE)
rtnorm(mean, sd, point, above, log = FALSE)
rttnorm(mean, sd, lower, upper, log = FALSE)
See also
Other simulation helpers:
correlated_regressors()
,
ddirichlet_cpp()
,
dmvnorm_cpp()
,
dwishart_cpp()
,
simulate_markov_chain()
Examples
x <- c(0, 0)
mean <- c(0, 0)
Sigma <- diag(2)
# compute density
dmvnorm(x = x, mean = mean, Sigma = Sigma)
#> [1] 0.1591549
dmvnorm(x = x, mean = mean, Sigma = Sigma, log = TRUE)
#> [1] -1.837877
# sample
rmvnorm(n = 3, mean = mean, Sigma = Sigma)
#> [,1] [,2]
#> [1,] 1.2039209 -2.440773
#> [2,] 0.9041923 1.425594
#> [3,] 0.1596079 -1.335400
rmvnorm(mean = mean, Sigma = Sigma, log = TRUE)
#> [1] 2.4878264 0.4307405