Skip to content

Commit

Permalink
fix issue #1380
Browse files Browse the repository at this point in the history
  • Loading branch information
paul-buerkner committed Aug 12, 2022
1 parent 309191e commit a291203
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 2 additions & 0 deletions NEWS.md
Expand Up @@ -8,6 +8,8 @@ specified via `s(..., fx = TRUE)`.
to the Stan backend in `update` and related methods. (#1373, #1378)
* Allow to retain unused factors levels via `drop_unused_levels = FALSE`
in `brm` and related functions. (#1346)
* Automatically update old default priors based on new input when
when updating models via `update.brmsfit`. (#1380)

### Other Changes

Expand Down
10 changes: 8 additions & 2 deletions R/update.R
Expand Up @@ -147,8 +147,10 @@ update.brmsfit <- function(object, formula., newdata = NULL,
if (!is.brmsprior(dots$prior)) {
stop2("Argument 'prior' needs to be a 'brmsprior' object.")
}
# update existing priors manually
dots$prior <- rbind(dots$prior, object$prior)
# update existing priors manually and keep only user-specified ones
# default priors are recomputed base on newdata if provided
old_user_prior <- subset2(object$prior, source = "user")
dots$prior <- rbind(dots$prior, old_user_prior)
dupl_priors <- duplicated(dots$prior[, rcols_prior()])
dots$prior <- dots$prior[!dupl_priors, ]
}
Expand Down Expand Up @@ -241,6 +243,10 @@ update.brmsfit <- function(object, formula., newdata = NULL,
dots$data, bterms = bterms, data2 = object$data2,
knots = dots$knots, drop_unused_levels = dots$drop_unused_levels
)
object$prior <- .validate_prior(
dots$prior, bterms = bterms, data = object$data,
sample_prior = dots$sample_prior
)
object$family <- get_element(object$formula, "family")
object$autocor <- get_element(object$formula, "autocor")
object$ranef <- tidy_ranef(bterms, data = object$data)
Expand Down

0 comments on commit a291203

Please sign in to comment.