update.brmsfit | R Documentation |
This method allows to update an existing brmsfit
object.
## S3 method for class 'brmsfit'
update(object, formula., newdata = NULL, recompile = NULL, ...)
object |
An object of class |
formula. |
Changes to the formula; for details see
|
newdata |
Optional |
recompile |
Logical, indicating whether the Stan model should
be recompiled. If |
... |
Other arguments passed to |
When updating a brmsfit
created with the cmdstanr
backend in a different R session, a recompilation will be triggered
because by default, cmdstanr writes the model executable to a
temporary directory. To avoid that, set option
"cmdstanr_write_stan_file_dir"
to a nontemporary path of your choice
before creating the original brmsfit
(see section 'Examples' below).
## Not run:
fit1 <- brm(time | cens(censored) ~ age * sex + disease + (1|patient),
data = kidney, family = gaussian("log"))
summary(fit1)
## remove effects of 'disease'
fit2 <- update(fit1, formula. = ~ . - disease)
summary(fit2)
## remove the group specific term of 'patient' and
## change the data (just take a subset in this example)
fit3 <- update(fit1, formula. = ~ . - (1|patient),
newdata = kidney[1:38, ])
summary(fit3)
## use another family and add population-level priors
fit4 <- update(fit1, family = weibull(), init = "0",
prior = set_prior("normal(0,5)"))
summary(fit4)
## to avoid a recompilation when updating a 'cmdstanr'-backend fit in a fresh
## R session, set option 'cmdstanr_write_stan_file_dir' before creating the
## initial 'brmsfit'
## CAUTION: the following code creates some files in the current working
## directory: two 'model_<hash>.stan' files, one 'model_<hash>(.exe)'
## executable, and one 'fit_cmdstanr_<some_number>.rds' file
set.seed(7)
fname <- paste0("fit_cmdstanr_", sample.int(.Machine$integer.max, 1))
options(cmdstanr_write_stan_file_dir = getwd())
fit_cmdstanr <- brm(rate ~ conc + state,
data = Puromycin,
backend = "cmdstanr",
file = fname)
# now restart the R session and run the following (after attaching 'brms')
set.seed(7)
fname <- paste0("fit_cmdstanr_", sample.int(.Machine$integer.max, 1))
fit_cmdstanr <- brm(rate ~ conc + state,
data = Puromycin,
backend = "cmdstanr",
file = fname)
upd_cmdstanr <- update(fit_cmdstanr,
formula. = rate ~ conc)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.