Get the cmdstanr model object for a pre-compiled Stan model inside a package.

stan_package_model(
  name,
  package,
  library = NULL,
  cmdstan_install = Sys.getenv("CMDSTAN_INSTALL", unset = "")
)

Arguments

name

Character of length 1, base name of the Stan model file (without the containing directory or .stan file extension).

package

Character of length 1, name of the R package to look for the built-in Stan model.

library

Character of length 1 or NULL, library path to look for the package with the built-in Stan model. Passed to the lib.loc argument of system.file().

cmdstan_install

Character of length 1, how to look for an installed copy of CmdStan. See https://wlandau.github.io/instantiate/ for details. Choices:

  1. "" (default): look at the original value that the CMDSTAN_INSTALL environment variable contained when instantiate at the time when it was installed. If it was "implicit" or "fixed", then choose the corresponding option below. Otherwise, default to "implicit".

  2. "implicit": Let the cmdstanr::cmdstan_path() decide where to look for CmdStan. As explained in the cmdstanr documentation, the output of cmdstanr::cmdstan_path() depends on the current value of the CMDSTAN environment variable. The cmdstanr package must be installed. If it is not installed, then stan_cmdstan_path() returns the empty string "".

  3. "fixed": Use the path to CmdStan that was originally contained in Sys.getenv("CMDSTAN") at the time when instantiate was installed.

Value

An R6 Stan model object from the cmdstanr package. Please visit the documentation website at https://mc-stan.org/cmdstanr/

for detailed information on the composition of this model object and how to use it to conduct Bayesian inference.

Details

Packages configured with instantiate compile their Stan models on installation. Then the stan_package_model() function retrieves the cmdstanr::cmdstan_model() object without needing to re-compile the model. Please see the documentation website of the instantiate package for examples.

Examples

# Please see the documentation website of the {instantiate} package
#   for examples.