Confirmatory Factor Analysis


Start app

GitHub Repository




The Statsomat/CFA app is a web-based application for automated Confirmatory Factor Analysis (CFA) based mainly on the R package lavaan and created with the Shiny technology. The Statsomat/CFA app is hosted on and is one of several apps which can be accessed via


There is no need to install the Statsomat/CFA app since it runs in the browser. If you really want to run it locally, then download the repository and run the app from the project folder:


Before running the app locally, please consider to install required packages (check them in global.R and report_kernel.Rmd). A list of complete dependencies can be found in dependencies.txt.

Example Usage

The dataset HolzingerSwineford1939.csv extracted from the R package lavaan is contained in the repository and can be used as an example. Select only the variables x1-x9 for a CFA. Type this model into the Type Your Model text area block, generate the report and finally download the report.

visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9

An example output:


Follow also the Instructions described directly on the webpage of the app. You can find more testing cases (datasets as CSV files and corresponding CFA models in lavaan model syntax) in the testing repository


The user uploads its data as a CSV file, types the CFA model in lavaan model syntax directly in the browser and generates a PDF report. The report contains a data-driven interpretation and explanation of the CFA in plain English. The R code for the generation of the tables and graphics is included in the report and enables locally reproducibles results. The current version supports only approximately continuous data. Other restrictions to the data may apply.


The app was calibrated and tested by using the HolzingerSwineford1939 dataset contained in the R package lavaan and (simulated) data cases from literature. The repository contains the test data cases and results for this version.