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, anddraws_rvars), extract_variable() andextract_variable_matrix() can now returnfactors.
posterior 1.5.0
Enhancements
Added support for nested-Rhat via rhat_nested(#256)
Added support for indexing draws in rvars usingrvars (#282):
x[i] or x[i] <- y where iis a scalar logical rvar slices (or updates) xby 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 wherei is a scalar numeric rvar slices (or updates)x by selecting the ith element within each corresponding draw. Thus, if y <- x[[i]], theny is an rvar of length 1.
Added rvar_ifelse(), which is a variant ofifelse() 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(), andvctrs::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 insplit_chains(<draws_rvars>) (#300).
posterior 1.4.1
Bug Fixes
Delay applying tibble::num() formatting to output fromsummarise_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 tofactor() and ordered() (#149). See the new section on rvar_factors invignette("rvar").
The draws_df(), draws_list(), anddraws_rvars() formats now support discrete variables stored as factors / ordereds (orrvar_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(), anddissent() functions for summarizing discrete draws.
Allow lists of draws objects to be passed as the first argument tobind_draws() (#253).
Improving formatting of summarise_draws output viatibble::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 (seehelp("posterior-package")).
Implemented faster vec_proxy.rvar() andvec_restore.rvar(), improving performance ofrvars in tibbles (and elsewherevctrs 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 executesexpr 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 inresample_draws() (#225).
Add an implementation of drop() forrvars.
Speed up subsetting of draws_list objects. (#229, #250)
Bug Fixes
Support remaining modes of diag() forrvars (#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 drawsformats (#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 intodraws_list objects.
Correctly drop variables on assigning NULL inmutate_variables. (#222)
posterior 1.2.0
Enhancements
support casting to/from rvar anddistributional::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 fromdraws_df objects if meta data columns are removed by adplyr operation (#202)
fix output of print.draws_df() on objects with unrepaired draws (#217)
ensure variance() works properly withsummarise_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 foress_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)