The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

BayesRTMB

Language / 言語: English introduction | パッケージ紹介

BayesRTMB is an R package for writing and fitting statistical models with RTMB as the automatic differentiation engine.

You can start from wrapper functions such as rtmb_lm(), rtmb_glmer(), rtmb_corr(), and rtmb_ttest(), or write your own model with rtmb_code(). The same model object can then be used for MCMC, MAP estimation, variational inference, and frequency-oriented classical analyses where supported.

Key Features

Installation

You can install BayesRTMB from CRAN.

install.packages("BayesRTMB")

The development version can be installed from GitHub with either pak or remotes.

pak::pak("norimune/BayesRTMB")
remotes::install_github("norimune/BayesRTMB")

Windows Users

For ordinary use, Windows users can install the CRAN binary package without Rtools. Rtools is only needed for source installation, development, or compiling custom TMB C++ templates.

pkgbuild::check_build_tools(debug = TRUE)

If you install BayesRTMB from source and this check fails, install the Rtools version that matches your R version from the Rtools page, restart R, and try again.

Quick Example

For standard analyses, start with a wrapper function.

library(BayesRTMB)
data(debate)

mdl <- rtmb_lm(sat ~ talk * perf, data = debate)

fit_mcmc <- mdl$sample()
fit_map  <- mdl$optimize()
fit_lm   <- mdl$classic()

You can also write a model directly.

Y <- debate$sat
X <- debate[c("talk","perf")] |> as.matrix()

data_list <- list(Y = Y, X = X)

code <- rtmb_code(
  setup = {
    N <- length(Y)
    K <- ncol(X)
  },
  parameters = {
    Intercept <- Dim(1)
    b <- Dim(K)
    sigma = Dim(lower = 0)
  },
  model = {
    mu <- Intercept + X %*% b
    Y ~ normal(mu, sigma)
    Intercept ~ normal(0, 10)
    b ~ normal(0, 10)
    sigma ~ exponential(1)
  }
)

mdl_custom <- rtmb_model(data_list, code)
fit_custom <- mdl_custom$sample()

Articles

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.