posterior 1.6.1
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.
posterior 1.6.0
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
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
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
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
- Minor release that fixes some CRAN check failures.
posterior 1.3.0
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
Enhancements
- Improve the
mcse_sd function to not make a normality
assumption. (#232)
posterior 1.2.1
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
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
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
- 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
posterior 0.1.0