Removes iterations from each chain of a mcmc.list
object at quasi-evenly spaced intervals. Post-MCMC thinning is useful for
developing long-running post-processing code with a smaller but otherwise identical mcmc.list
.
post_thin(post, keep_percent, keep_iters)
post | A |
---|---|
keep_percent | Proportion (between 0 and 1) of samples to keep from each chain.
Setting |
keep_iters | Number of samples to keep from each chain. |
A mcmc.list
object, identical to post
, but with fewer samples of each node.
The samples will be removed at as evenly spaced intervals as possible, however, this is not perfect. It is therefore recommended to use the full posterior for final post-processing calculations, but this should be fine for most development of long-running code.
If both keep_percent
and keep_iters
are supplied, an error will be returned requesting that only
one be used.
Iteration numbers are reset after thinning the samples. So if running post_dim()
on output passed through post_thin()
, you cannot trust the burn-in or thinning counts.
Again, this is not an issue for developing post-processing code.
#> burn post_burn thin chains saved params #> 11000 50000 200 2 500 21# keep ~20% of the samples cjs_thin1 = post_thin(cjs, keep_percent = 0.2) # note burn-in and thin intervals no longer correct! # but desired outcome achieved - identical object but smaller post_dim(cjs_thin1)#> burn post_burn thin chains saved params #> 0 50 1 2 100 21#> burn post_burn thin chains saved params #> 0 30 1 2 60 21