Extract posterior samples of specified parameters. The
posterior_samples method is deprecated. We recommend using the more
modern and consistent as_draws_* extractor
functions of the posterior package instead.
Usage
# S3 method for class 'brmsfit'
posterior_samples(
x,
pars = NA,
fixed = FALSE,
add_chain = FALSE,
subset = NULL,
as.matrix = FALSE,
as.array = FALSE,
...
)
posterior_samples(x, pars = NA, ...)Arguments
- x
An
Robject typically of classbrmsfit- pars
Names of parameters for which posterior samples should be returned, as given by a character vector or regular expressions. By default, all posterior samples of all parameters are extracted.
- fixed
Indicates whether parameter names should be matched exactly (
TRUE) or treated as regular expressions (FALSE). Default isFALSE.- add_chain
A flag indicating if the returned
data.frameshould contain two additional columns. Thechaincolumn indicates the chain in which each sample was generated, theitercolumn indicates the iteration number within each chain.- subset
A numeric vector indicating the rows (i.e., posterior samples) to be returned. If
NULL(the default), all posterior samples are returned.- as.matrix
Should the output be a
matrixinstead of adata.frame? Defaults toFALSE.- as.array
Should the output be an
arrayinstead of adata.frame? Defaults toFALSE.- ...
Arguments passed to individual methods (if applicable).
Examples
# \dontrun{
fit <- brm(rating ~ treat + period + carry + (1|subject),
data = inhaler, family = "cumulative")
#> Compiling Stan program...
#> Start sampling
#>
#> SAMPLING FOR MODEL 'anon_model' NOW (CHAIN 1).
#> Chain 1:
#> Chain 1: Gradient evaluation took 0.000302 seconds
#> Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 3.02 seconds.
#> Chain 1: Adjust your expectations accordingly!
#> Chain 1:
#> Chain 1:
#> Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 1: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 1: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 1: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 1: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 1: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 1: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 1: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 1: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 1: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 1: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 1: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 1:
#> Chain 1: Elapsed Time: 5.969 seconds (Warm-up)
#> Chain 1: 4.268 seconds (Sampling)
#> Chain 1: 10.237 seconds (Total)
#> Chain 1:
#>
#> SAMPLING FOR MODEL 'anon_model' NOW (CHAIN 2).
#> Chain 2:
#> Chain 2: Gradient evaluation took 0.000255 seconds
#> Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 2.55 seconds.
#> Chain 2: Adjust your expectations accordingly!
#> Chain 2:
#> Chain 2:
#> Chain 2: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 2: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 2: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 2: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 2: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 2: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 2: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 2: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 2: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 2: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 2: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 2: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 2:
#> Chain 2: Elapsed Time: 6.096 seconds (Warm-up)
#> Chain 2: 4.276 seconds (Sampling)
#> Chain 2: 10.372 seconds (Total)
#> Chain 2:
#>
#> SAMPLING FOR MODEL 'anon_model' NOW (CHAIN 3).
#> Chain 3:
#> Chain 3: Gradient evaluation took 0.000258 seconds
#> Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 2.58 seconds.
#> Chain 3: Adjust your expectations accordingly!
#> Chain 3:
#> Chain 3:
#> Chain 3: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 3: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 3: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 3: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 3: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 3: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 3: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 3: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 3: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 3: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 3: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 3: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 3:
#> Chain 3: Elapsed Time: 6.167 seconds (Warm-up)
#> Chain 3: 4.266 seconds (Sampling)
#> Chain 3: 10.433 seconds (Total)
#> Chain 3:
#>
#> SAMPLING FOR MODEL 'anon_model' NOW (CHAIN 4).
#> Chain 4:
#> Chain 4: Gradient evaluation took 0.000264 seconds
#> Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 2.64 seconds.
#> Chain 4: Adjust your expectations accordingly!
#> Chain 4:
#> Chain 4:
#> Chain 4: Iteration: 1 / 2000 [ 0%] (Warmup)
#> Chain 4: Iteration: 200 / 2000 [ 10%] (Warmup)
#> Chain 4: Iteration: 400 / 2000 [ 20%] (Warmup)
#> Chain 4: Iteration: 600 / 2000 [ 30%] (Warmup)
#> Chain 4: Iteration: 800 / 2000 [ 40%] (Warmup)
#> Chain 4: Iteration: 1000 / 2000 [ 50%] (Warmup)
#> Chain 4: Iteration: 1001 / 2000 [ 50%] (Sampling)
#> Chain 4: Iteration: 1200 / 2000 [ 60%] (Sampling)
#> Chain 4: Iteration: 1400 / 2000 [ 70%] (Sampling)
#> Chain 4: Iteration: 1600 / 2000 [ 80%] (Sampling)
#> Chain 4: Iteration: 1800 / 2000 [ 90%] (Sampling)
#> Chain 4: Iteration: 2000 / 2000 [100%] (Sampling)
#> Chain 4:
#> Chain 4: Elapsed Time: 6.176 seconds (Warm-up)
#> Chain 4: 4.262 seconds (Sampling)
#> Chain 4: 10.438 seconds (Total)
#> Chain 4:
# extract posterior samples of population-level effects
samples1 <- posterior_samples(fit, pars = "^b")
#> Warning: Method 'posterior_samples' is deprecated. Please see ?as_draws for recommended alternatives.
head(samples1)
#> b_Intercept[1] b_Intercept[2] b_Intercept[3] b_treat b_period
#> 1 0.7606411 4.191504 5.431380 -1.4786572 -0.03591804
#> 2 0.5611575 3.636155 4.675608 -0.8359185 0.12082448
#> 3 0.7519345 3.896075 5.490320 -0.9635744 0.21765757
#> 4 0.5551249 3.642243 4.791505 -0.9486625 0.29633929
#> 5 0.5502091 3.998428 5.248111 -1.2993267 0.21801579
#> 6 0.7073057 3.666545 4.885156 -0.5402219 0.30515004
#> b_carry
#> 1 0.06856922
#> 2 -0.41065894
#> 3 -0.27732837
#> 4 -0.29512434
#> 5 -0.24921882
#> 6 -0.33619624
# extract posterior samples of group-level standard deviations
samples2 <- posterior_samples(fit, pars = "^sd_")
#> Warning: Method 'posterior_samples' is deprecated. Please see ?as_draws for recommended alternatives.
head(samples2)
#> sd_subject__Intercept
#> 1 1.3371472
#> 2 1.2369175
#> 3 1.2253835
#> 4 1.1883634
#> 5 1.3111031
#> 6 0.9595355
# }