How to cite the package

Chen, J. (2020). LAWBL: Latent (variable) analysis with Bayesian learning (R package version 1.3.0). Retrieved from


1) Install the stable version from CRAN with:

2) Install the devtools package (if necessary), and install the development version from the Github.

# install.packages("devtools")

What can this package do

The long-term goal of LAWBL is to provide an analytical framework for modeling latent variables with different Bayesian learning methods.

Currently, this package includes the Partially Confirmatory Factor Analysis (PCFA) model for continuous data (Chen, Guo, Zhang, & Pan, 2020), the generalized PCFA (GPCFA) model covering continuous, categorical, and mixed-type data, and the partially confirmatory item response model (PCIRM) for continuous and dichotomous data with intercept terms (Chen, 2020). The three models represent a partially confirmatory approach covering a wide range of the exploratory-confirmatory continuum under the context of factor analysis and item response theory. For PCFA, GPCFA, and PCIRM, there are two major model variants with different constraints for identification. One assumes local independence (LI) with a more exploratory tendency, which can be also called the E-step. The other allows local dependence (LD) with a more confirmatory tendency, which can be also called the C-step. Parameters are obtained by sampling from the posterior distributions with the Markov chain Monte Carlo (MCMC) techniques. Different Bayesian Lasso methods are used to regularize the loading pattern and local dependence.

For examples of how to use the package, see vignettes or

  • For PCFA with continuous data: here
  • For GPCFA with categorical and mixed-type data: here
  • For PCIRM with dichotomous data and intercept terms: here

How to use this package in brief

  • To estimate the E-step (when only a few loadings can be specified, e.g., 2 per factor), use m <- pcfa(dat=dat,Q=Q,LD=F)
  • To estimate the C-step (with one specified loading per item), use m <- pcfa(dat=dat,Q=Q,LD=T)
  • To summarize basic information after estimation, use summary(m)
  • To summarize significant loadings in pattern/Q-matrix format, use summary(m,what=‘qlambda’)
  • To summarize factorial eigenvalues, use summary(m,what=‘eigen’)
  • To summarize significant LD terms, use summary(m,what=‘offpsx’)
  • To plot eigenvalues’ trace, use plot_eigen(m)
  • To plot eigenvalues’ density, use plot_eigen(m, what=‘density’)
  • To plot eigenvalues’ adjusted PSRF, use plot_eigen(m, what=‘APSR’)


Chen, J., Guo, Z., Zhang, L., & Pan, J. (2020). A partially confirmatory approach to scale development with the Bayesian Lasso. Psychological Methods. Advance online publication.

Chen, J. (2020). A partially confirmatory approach to the multidimensional item response theory with the Bayesian Lasso. Psychometrika. 85(3), 738-774. DOI: 10.1007/s11336-020-09724-3.