Rcpp-based Truncated Normal RNG by Jonathan Olmsted (email@example.com)
This package provides functions for generating random numbers from a Truncated Normal distribution with integration to R's usual RNG seed. Functions can be called at either the R or C++ level (with similar structures).
In addition to RNG, functions to calculate the density, moments of the distribution, and the entropy are also provided.
The goal of this package is to provide consistent and straightforward functions for working with Truncated Normal distributions for users in R-land and C++-land.
install_github() from the
devtools package will install this for
you. Alternatively, you could clone this repository and build/install with the
Makefile that is included.
library(devtools) install_github(repo = "RcppTN", username = "olmjo", ref = "development" )
This is taken from the documentation on the main function provided
library(RcppTN) set.seed(1) rtn(0, 1, -Inf, Inf) ## for a single draw from a single distribution rtn(rep(0, 3), rep(1, 3), rep(-Inf, 3), rep(Inf, 3) ) ## for multiple draws from a single distribution rtn(c(0, 0), c(1, 1), c(-Inf, 5), c(1, Inf) ) ## multiple draws, each from a different distribution
Functions for calculating moments are also available.
The R package also provides a C++--level API for reproducible RNG (and moment calculation) from a truncated normal distribution.
Detailed information on usage (at the R-level and C++-level) and on performance can be found in the vignettes.