pkgdown stuff - not much more needs to be said here.pkgdown website.data(cjs) object.get_p() became get_params()match_p() became match_params()base_p() became drop_index()p argument now accept a params argument (match_params(), diag_plots() post_subset(), post_summ(), post_remove(), vcov_decomp(), etc.) (#14)p_summ has been replaced with probs in post_summ() (#25)match_params and get_params now both take a type argument, and both accept only values of "base_only" or "base_index" (#20 - some other function and arguments changed here as well).density_plot() and trace_plot() previously accepted a p_one argument – this is now param (distinction between multiple parameters and one parameter); but most users won’t notice this as these are non-exported functions.ins_regex_bracket(), rm_regex_bracket(), ins_regex_lock(), and rm_regex_lock() now take the params argument rather than the string argument, but most users won’t notice this.matrix2mcmclist() was deleted and now post_convert() does its job (#23).par() after completing diag_plots() (#17)StatonMisc dependencies (#16)post_thin()
thin_percent is not a perfect multiple of the number of iterations per chain - this causes the thinning to be “quasi-evenly” spaced. As this function is only ever used in code development and not final products, this should not be an issue (#13).thin_percent to be keep_percent, and implemented throughout.keep_iters argument – now users can choose to keep either a fixed number of samples (again, may be quasi-equal to keep_iters, due to rounding errors) or a fixed percent of samples.by_chain argument to post_summ() (#10)
post_summ(..., by_chain = TRUE). For now, Rhat, ess, and mcse will be ignored if by_chain = TRUE.post_convert() functionpostpack requires (for the most part) that MCMC samples be stored in mcmc.list objects. But not all R packages that perform MCMC return samples immediately in this format. This new function may help users get their samples into mcmc.list format, potentially broadening the accessibility of the functions in this package.density_plot() and trace_plot() from exported listpost_remove functionpost_subset, except that it prompts the user to verify that they wish to exclude the match nodes and returns everything that does not match the p argument.post_summ (#11)auto_escape option (#5)mcmc.lists (#7, #9)
post_subset() and post_thin() previously used coda::as.mcmc.list() to convert matrices to mcmc.list objects, however, if the matrix contained only one node, this would result in the mcmc.list no longer having a name for that node. Because most of the postpack functions rely on node names, this caused issues (e.g., diag_plots(), post_bind()).matrix2mcmclist to perform this task, which should fix these issues.Bug fix when calculating Rhat
When calculating Rhat using post_summ(..., Rhat = T) (which wraps coda::gelman.diag) on an object containing only one node, an error would be thrown:
Error in data[1:nobs, , drop = FALSE] : incorrect number of dimensions
Which I tracked down to be a result of the autoburnin argument being true by default. Being able to perform the calculations for only one node was required for the diag_plots(..., show_diags = T) update. So I have forced this argument to be FALSE in its usage within post_summ().
ins_regex_bracket()rm_regex_bracket()id_mat()vcov_decomp(): it now internally uses id_mat()post_bind() now allows one of the objects to be a matrix of derived quantities, but still requires that it has the same number of samples as the object it is being binded to.diags_plots(..., show_diags) argument to display Rhat and ESS on the density plotmatch_p now uses StatonMisc::list_out to print the unique node names, which makes its printing much cleaner (#2)warn argument from all functions that call match_pprettify argument to post_summ() was removedpost_dim(..., kind) was included in other functions including:
post_bindpost_thinvcov_decompvcov_decomp has improved error messages and relies on StatonMisc::progress_updater to print the progress of the calculationpost_dim improved to rely on StatonMisc::list_outid_mat functionbuild_vignettes = T when installing from GitHub and several other simplifications to the readme since there is now a vignettepost_dim() now accepts a kind argument, which represents certain element(s) from the returned vector.vcov_decomp() function
mcmc.list object with these nodesdiag_plots (#6)
diag_plots(..., layout = "2x1") and diag_plots(..., layout = "4x2") added, and the "auto" option will now consider these when selecting the best option.write_model(): I essentially duplicated R2OpenBUGS::write.model because it was the only function I ever used from that package now all my BUGS models are fitted with JAGS.
post_dim was counting the chain and iters columns as nodes (#1){codaTools} to {postpack}. This is a better name, because it is not just used for convergence diagnostics.get_nodes and filter_post: better error messagesformat = "matrix" to matrix = T/F argumentmatch_p function - now all subsetting is handled by this one functionfilter_post became post_subsetins_regex_lock, rm_regex_lock, and base_p - all intended to improve the behavior of diag_plotsStatonMisc functions, they are now imported rather than requiring the whole package at the start of a function that needs themsumm_post became post_summnative_format became array_formatget_nodes became get_pbind_post became post_bindthin_post became post_thinpost_dimdiag_plots through the my_title functionthin_post, native_formatbind_post: combines two mcmc.list objectsthin_post: thins an mcmc.list object at regularly-spaced intervals from each chain