NEWS
posterior 1.6.1 (2025-02-27)
Bug Fixes
- Fix a test issue that led to an R CMD check failure on R devel.
Enhancements
- Convert lists of matrices to
draws_array objects.
- Improve the documentation in various places.
- Implement
pit() for draws and rvar objects. LOO-PIT can be computed using weights.
posterior 1.6.0 (2024-07-03)
Enhancements
- Add
exclude option to subset_draws(), which can be used to exclude
the matched selection.
- Add
are_log_weights option to pareto_smooth(), which is necessary
for correct Pareto smoothing computation if the input vector
consists of log weights.
- Add
pareto_smooth option to weight_draws(), to Pareto smooth
weights before adding to a draws object.
- Add individual Pareto diagnostic functions (
pareto_khat(),
pareto_khat_threshold(), pareto_min_ss(), pareto_convergence_rate())
thin_draws() now automatically thins draws based on ESS by default,
and non-integer thinning is possible.
- Matrix multiplication of
rvars can now be done with the base matrix
multiplication operator (%*%) instead of %**% in R >= 4.3.
variables(), variables<-(), set_variables(), and nvariables() now
support a with_indices argument, which determines whether variable names
are retrieved/set with ("x[1]", "x[2]" ...) or without ("x") indices
(#208).
- Add
extract_variable_array() function to extract variables with indices
into arrays of iterations x chains x any remaining dimensions (#340).
- For types that support
factor variables (draws_df, draws_list, and
draws_rvars), extract_variable() and extract_variable_matrix() can
now return factors.
posterior 1.5.0 (2023-10-31)
Enhancements
- Added support for nested-Rhat via
rhat_nested (#256)
- Added support for indexing draws in
rvars using rvars (#282):
x[i] or x[i] <- y where i is a scalar logical rvar slices (or
updates) x by its draws. Thus, if y <- x[i], then y is the same
shape as x but with sum(i) draws.
x[[i]] or x[[i]] <- y where i is a scalar numeric rvar slices (or
updates) x by selecting the ith element within each corresponding draw.
Thus, if y <- x[[i]], then y is an rvar of length 1.
- Added
rvar_ifelse(), which is a variant of ifelse() that accepts (and
returns) rvars (#282).
- Array broadcasting for
rvars has been made faster.
Bug Fixes
- Ensure
rfun() works with primitive functions (#290) and dots arguments (#291).
- Provide implementations of
vctrs::vec_proxy_equal(),
vctrs::vec_proxy_compare(), and vctrs::vec_proxy_order().
- Minor future-proofing of
cbind(<rvar>), rbind(<rvar>), and chol(<rvar>)
for R 4.4 (#304).
- Ensure that
bind_draws(<draws_rvars>) regenerates draw ids when binding along
chains or draws; this also fixes a bug in split_chains(<draws_rvars>) (#300).
posterior 1.4.1 (2023-03-14)
Bug Fixes
- Delay applying
tibble::num() formatting to output from summarise_draws()
until print() is called so that summary output can be easily converted to a
vanilla data frame (#275).
posterior 1.4.0 (2023-02-22)
Enhancements
- Added new
rvar_factor() and rvar_ordered() subtypes of rvar() that work
analogously to factor() and ordered() (#149). See the new section on
rvar_factors in vignette("rvar").
- The
draws_df(), draws_list(), and draws_rvars() formats now support
discrete variables stored as factors / ordereds (or rvar_factors /
rvar_ordereds). If converted to formats that do not support discrete
variables with named levels (draws_matrix() and draws_array()),
factor-like variables are converted to numerics.
- Made
match() and %in% generic and added support for rvars to both
functions.
- Added
modal_category(), entropy(), and dissent() functions for
summarizing discrete draws.
- Allow lists of draws objects to be passed as the first argument to
bind_draws() (#253).
- Improving formatting of
summarise_draws output via tibble::num.
print.rvar() and format.rvar() now default to a smaller number of
significant digits in more cases, including when printing in data frames.
This is controlled by the new "posterior.digits" option (see
help("posterior-package")).
- Implemented faster
vec_proxy.rvar() and vec_restore.rvar(), improving
performance of rvars in tibbles (and elsewhere vctrs is used).
Bug Fixes
- Ensure that
as_draws_rvars() preserves dimensions of length-1 arrays (#265).
- Fix some minor compatibility issues with
rvar, vctrs, dplyr, and
ggplot2 (#267, #269).
posterior 1.3.1 (2022-09-06)
- Minor release that fixes some CRAN check failures.
posterior 1.3.0 (2022-08-15)
Enhancements
- Implement
for_each_draw(x, expr), which executes expr once for each draw
of x, exposing variables in x as arrays of the shape implied by the
indices in their names (#224).
- Implement
subset_draws(), thin_draws(), and resample_draws() for rvars (#225).
- Allow
weights to be optional in resample_draws() (#225).
- Add an implementation of
drop() for rvars.
- Speed up subsetting of
draws_list objects. (#229, #250)
Bug Fixes
- Support remaining modes of
diag() for rvars (#246).
- Better parsing for named indices in
as_draws_rvars(), including nested use
of [, like x[y[1],2] (#243).
- Allow 0-length
rvars with ndraws() > 1 (#242).
- Ensure 0-length
rvars can be cast to draws formats (#242).
- Don't treat length-1
rvars with more than 1 dimension as scalars when
casting to other formats (#248).
posterior 1.2.2 (2022-06-09)
Enhancements
- Improve the
mcse_sd function to not make a normality assumption. (#232)
posterior 1.2.1 (2022-03-07)
Bug Fixes
- Correctly transform lists of data.frames into
draws_list objects.
- Correctly drop variables on assigning
NULL in mutate_variables. (#222)
posterior 1.2.0 (2022-01-05)
Enhancements
- support casting to/from
rvar and distributional::dist_sample (#109)
Bug Fixes
- fix hidden variables in
bind_draws.draws_df when binding
more than two objects thanks to Jouni Helske (#204)
- fix output of
pillar::glimpse() when used on a data frame containing
rvars (#210)
- drop
"draws" and "draws_df" classes from draws_df objects if meta data
columns are removed by a dplyr operation (#202)
- fix output of
print.draws_df() on objects with unrepaired draws (#217)
- ensure
variance() works properly with summarise_draws() (#219)
posterior 1.1.0 (2021-09-09)
Enhancements
- use
matrixStats to speed up convergence functions (#190) and
rvar summaries (#200)
Bug Fixes
- ensure that
as_draws_rvars() works on lists of lists (#192)
- fix some vector recycling issues with
rvar_rng (#195)
- ensure that
subset_draws() respects input variable order, thanks to
Karl Dunkle Werner and Alexey Stukalov (#188)
Other Changes
- No longer check for constant-per-chain input in effective
sample size diagnostics as this is overly conservative
especially for
ess_tail. (#198)
posterior 1.0.1 (2021-07-14)
- ensure that all unit tests pass on all CRAN environments
- fix a problem that sometimes lead to
rvars being unnecessarily slow (#179)
posterior 1.0.0 (2021-07-13)
posterior 0.1.0