Learn R Programming

rstan (version 2.19.2)

rstan-package: RStan --- the R interface to Stan

Description

mc-stan.org Stan Development Team

RStan is the R interface to the Stan C++ package. The RStan interface (rstan R package) provides:

  • Full Bayesian inference using the No-U-Turn sampler (NUTS), a variant of Hamiltonian Monte Carlo (HMC)

  • Approximate Bayesian inference using automatic differentiation variational inference (ADVI)

  • Penalized maximum likelihood estimation using L-BFGS optimization

For documentation on Stan itself, including the manual and user guide for the modeling language, case studies and worked examples, and other tutorial information visit the Users section of the Stan website:

Arguments

Other <span style="R">R</span> packages from the Stan Development Team

Various related R packages are also available from the Stan Development Team:

Package Description Doc Website
bayesplot ggplot-based plotting of parameter estimates, diagnostics, and posterior predictive checks. bayesplot-package mc-stan.org/bayesplot
shinystan Interactive GUI for exploring MCMC output. shinystan-package mc-stan.org/shinystan
loo Out-of-sample predictive performance estimates and model comparison. loo-package mc-stan.org/loo
rstanarm R formula interface for applied regression modeling. rstanarm-package mc-stan.org/rstanarm
rstantools Tools for developers of R packages interfacing with Stan. rstantools-package mc-stan.org/rstantools

See Also

Examples

Run this code
# NOT RUN {
stanmodelcode <- "
data {
  int<lower=0> N;
  real y[N];
} 

parameters {
  real mu;
} 

model {
  target += normal_lpdf(mu | 0, 10);
  target += normal_lpdf(y  | mu, 1);
} 
"

y <- rnorm(20) 
dat <- list(N = 20, y = y); 
fit <- stan(model_code = stanmodelcode, model_name = "example", 
            data = dat, iter = 2012, chains = 3, verbose = TRUE,
            sample_file = file.path(tempdir(), 'norm.csv')) 
print(fit)

# extract samples 
e <- extract(fit, permuted = FALSE) # return a list of arrays 
str(e)

arr <- as.array(fit) # return an array 
str(arr)

mat <- as.matrix(fit) # return a matrix
str(mat)
# }

Run the code above in your browser using DataLab