Skip to contents

Version 0.4-7

CRAN release: 2023-03-01

New features

  • This is primarily an update to address a C++14 vs C++17 compilation issue identified by CRAN

  • But bugs from 0.4-6 have also been fixed

Bugs/glitches discovered after the release:

  • Sampling from the priors (prisamp = TRUE) fails for models with meanstructure = FALSE; the posterior is still estimated (reported by Armel Brizuela Rodríguez).

  • For target = “jags”, models with a single-indicator latent variable, where the latent variable is regressed on other variables, return incorrect parameter estimates (reported by Brad Cosentino).

Version 0.4-6

CRAN release: 2023-02-11

New features

  • For target = “stan”, meanstructure=FALSE is allowed, along with use of sample.cov and sample.nobs instead of raw data

  • Users are warned about priors on covariance matrices that are neither diagonal nor unrestricted

  • For models where observed variable intercepts appear in the latent intercept vector (alpha), default priors come from the observed intercept vector nu (as the user would expect)

  • inits = “simple” is now default (instead of “prior”), to address some convergence problems

  • For stan targets, “:=” can now be used as an identity function

  • For target = “stan”, fix the missing data issue from 0.4-3 (complete data in one group but not the other)

  • Column names are added to blavPredict(, type=“lv”)

Bugs/glitches discovered after the release:

  • blavFitIndices() and save.lvs = TRUE do not work correctly for models without meanstructure. Workaround is to use meanstructure = TRUE in the model estimation command (reported by Charles Hofacker).

  • The lavaan summary() method is sometimes called instead of the blavaan summary() method (reported by multiple users, with Shu Fai Cheung providing helpful examples).

Version 0.4-3

CRAN release: 2022-05-11

New features

  • For target = “stan”, most models should run faster than they did in earlier versions (use of sufficient statistics)

  • Posterior summaries are faster for ordinal models (using mnormt::sadmvn() by default)

  • Variational Bayes option added: target=“vb”, which uses rstan::vb()

  • cmdstanr functionality added: target=“cmdstanr”, which uses the model from target=“stan”

  • Fix blavInspect(., “lvs”/“lvmeans”) for multiple groups + missing data

  • Fixes to ppmc() for ordinal models; blavFitIndices() turned off for ordinal models (more research needed)

  • loo() moment matching available by passing mcmcextra = list(data = list(moment_match_k_threshold))

Bugs/glitches discovered after the release:

  • target = “stan” fails when there are complete data in one group and missing data in another group (reported by Ronja Runge).

  • blavPredict(, type=“ymis”) still not available for models with ordinal variables

Version 0.4-1

CRAN release: 2022-01-27

New features

  • Functionality for ordinal observed variables is now available.

  • For models with missing data, posterior summaries have been sped up (log-likelihood computations now done in Stan).

Bugs/glitches discovered after the release:

  • blavPredict(, type=“ymis”) is not working for models with ordinal variables

  • blavInspect(, ‘lvs’) or (, ‘lvmeans’) can fail for models with a combination of multiple groups, missing values, and excluded cases

  • blavFitIndices() and ppmc() are not working for models with ordinal variables, or may indicate excessively bad fit

  • blavFitIndices(, rescale=“mcmc”) fails

Version 0.3-18

CRAN release: 2021-11-27

New features

  • This version adds a reference to the new JSS paper, including DOI, and corrects an inconsistent version dependency. There are no other changes as compared to 0.3-17.

Version 0.3-17

CRAN release: 2021-07-19

New features

  • This is a maintenance release to correct major bugs from the previous version.

Version 0.3-16

CRAN release: 2021-07-11

New features

  • blavPredict() function added for predicting latent variables and missing data.

  • Some posterior summaries are sped up. (and fitMeasures are available when test=“none”)

  • bug fixes from the previous version.

Bugs/glitches discovered after the release:

  • For certain models with missing data, ppp-values are incorrect (sometimes equaling 1.0).

  • For target=“stan”, some multiple group models fail when some cases are missing all observed variables (reported by DeAnne Hunter).

Version 0.3-15

CRAN release: 2021-02-19

New features

  • Added an S3 summary() method for ppmc

  • Posterior intervals summary() bug is fixed

Bugs/glitches discovered after the release:

  • The summary() method for ppmc() and fitIndices() does not always work correctly.

  • A Jacobian was incorrect for target=“stan”, when (non-default) priors were placed on precisions or variances instead of on standard deviations. This could impact estimates of posterior variability (reported by Roy Levy).

Version 0.3-14

CRAN release: 2021-01-20

  • (version 0.3-13 violated a CRAN policy)

New features

  • This is a maintenance release in response to a change in package Matrix.

Bugs/glitches discovered after the release:

  • Posterior intervals are NA in summary(). Workarounds are to use parameterEstimates() (intervals assuming posterior normality) or to compute them yourself using the posterior samples (`blavInspect(fit, “mcmc”)’)

Version 0.3-12

CRAN release: 2020-11-12

  • (version 0.3-11 failed Windows CRAN checks)

New features

  • vector values of are allowed for different priors on approximate equality constraints

  • logical argument “prisamp” added, for sampling from a model’s prior

  • for target=“stan”, lkj prior is used for unrestricted lv correlation matrices

  • default priors for conditional approaches (targets jags and stanclassic) revert to being placed on precisions (as opposed to SDs), for improvement in sampling efficiency

Version 0.3-10

CRAN release: 2020-08-03

New features

  • save.lvs=TRUE works for missing data under target=“stan”

  • new arguments “wiggle” and “” for approximate equality constraints under target=“stan”

Bugs/glitches discovered after the release:

  • plot labels for target=“stan” are sometimes incorrect (displaying a parameter different from the panel label).

  • complex equality constraints are sometimes ignored (target=“jags” or “stanclassic”)

  • equality constraints with sometimes fail (target=“stan”)

  • placing priors on variances or precisions yields incorrect results (target=“stan”; reported by Roy Levy)

Version 0.3-9

CRAN release: 2020-03-09

New features

  • improvements to save.lvs=TRUE for target=“stan”.

  • target=“stancond” is added, which is an experimental, noncentered Stan approach.

  • bug fixes for prior settings and in target=“stan”, and defined parameters.

Bugs/glitches discovered after the release:

  • For target=“stan”, problems with sampling lvs when there are multiple groups or missing data.

  • Errors for blavCompare() and blavFitIndices() due to version updates of other packages.

  • For target=“stan”, some models with would not converge.

Version 0.3-8

CRAN release: 2019-11-19

New features

  • post-estimation, posterior predictive computations are sped up considerably.

  • 0.3-7 bugs fixed.

Bugs/glitches discovered after the release:

  • For target=“stan” and, estimation fails for certain (growth) models (reported by Mauricio Garnier-Villareal).

  • Some defined variables fail for target=“jags” and “stanclassic” (reported by Mariëlle Zondervan-Zwijnenburg).

  • User-specified priors sometimes are placed on the wrong parameter, related to the 0.3-7 bug (reported by Mauricio Garnier-Villareal).

  • The dpriors() issue from 0.3-3 remains.

Version 0.3-7

CRAN release: 2019-09-27

New features

  • for target=“stan”, gamma priors can now be placed on user’s choice of variances, standard deviations, or precisions.

  • plot() now works uniformly across Stan and JAGS, relying on bayesplot.

  • post-MCMC parallelization is now handled via future.apply package (requires an extra “plan” command from user, but works on windows).

  • 0.3-6 bugs fixed.

Bugs/glitches discovered after the release:

  • blavInspect(, ‘lvmeans’) returns rows in the wrong order for target=“stan” (reported by Mehdi Momen).

  • User-specified priors sometimes are placed on the wrong parameter, for target=“stan” (reported by Enrico Toffalini).

  • The dpriors() issue from 0.3-3 remains.

Version 0.3-6

CRAN release: 2019-08-08

New features

  • this fixes the stan plot bug from 0.3-5.

Bugs/glitches discovered after the release:

  • user-specified priors on correlation parameters are silently ignored for target=“stan” (reported by James Uanhoro).

  • save.lvs=TRUE does not work for target=“stan” (reported by Mauricio Garnier-Villareal).

  • The dpriors() issue from 0.3-3 remains.

Version 0.3-5

CRAN release: 2019-08-03

New features

  • target=“stan” is now the default, using a pre-compiled Stan model instead of “on the fly” code.

  • ppmc() function added by Terrence Jorgensen, facilitating posterior predictive checks.

  • default priors are changed from gamma on precisions to gamma on standard deviations.

Bugs/glitches discovered after the release:

  • The Stan plot method silently fails (reported by Matt Yalch).

  • The dpriors() issue from 0.3-3 remains.

Version 0.3-4

CRAN release: 2019-01-11

New features

  • Add function standardizedPosterior() for standardizing posterior draws.

  • Turn off posterior modes for target=“jags”, due to conflict between current versions of runjags and modeest.

  • Rearrange posterior predictive internals.

Bugs/glitches discovered after the release:

  • The dpriors() issue from 0.3-3 remains.

  • For target=“jags”, lv means obtained from blavInspect() (via argument ‘lvmeans’) are incorrect. (reported by Mauricio Garnier-Villareal)

  • Use of plot() with target=“stan” causes problems for future blavInspect() calls.

Version 0.3-3

CRAN release: 2018-10-31

New features

  • For convergence=“auto”, max time was previously 5 min (undocumented). It is now Inf.

  • Axis labels (parameter names) are now more sensible on convergence plots.

  • Relative effective sample size now used to compute loo/waic SEs, and some SEs are now returned via fitMeasures().

  • Added unit testing via package testthat.

  • Fixed bugs from 0.3-2 (with exception of identity assignments using ‘:=’)

Bugs/glitches discovered after the release:

  • Use of ‘dpriors()’: some observed variable precisions assigned latent precision (ipsi) prior; some latent means assigned observed mean (nu) prior.

Version 0.3-2

CRAN release: 2018-06-10

New features

  • Conditional (on latent variables) information criteria available when save.lvs = TRUE.

  • Experimental function ‘blavFitIndices()’ added for Bayesian versions of SEM metrics, contributed by Terrence Jorgensen.

  • blavaan “intelligently” chooses target, if either runjags or rstan (but not both) is installed.

  • Fixed bugs from 0.3-1, especially related to missing data in Stan.

Bugs/glitches discovered after the release:

  • Errors for Stan models with, and an observed variable regressed on a latent variable (reported by Bo Zhang).

  • Error for identity assignments using ‘:=’ (reported by Marco Tullio Liuzza).

  • Explicitly adding the argument ‘’ fails (reported by Esteban Montenegro).

Version 0.3-1

CRAN release: 2018-01-12

New features

  • Stan export now supported; use target=“stan”.

  • Improved handling of complex models, including growth/change models.

  • Sampling of factor scores (lvs) available via ‘save.lvs=TRUE’. Samples/means can be obtained by supplying arguments ‘lvs’ and ‘lvmeans’ to ‘blavInspect()’.

  • Fixed bugs from 0.2-4.

Bugs/glitches discovered after the release:

  • Errors for Stan models with missing data, when there are exogenous (“x”) variables.

  • Errors for multi-group Stan models with