This Shiny App generates 10 waves of data for two variables, based on a bivariate "Stable Trait, Autoregressive Trait, State" (STARTS) Model. The STARTS model decomposes the variance into a Stable Trait, an Autoregressive Trait, and a State, and the App allows you to specify the variance for each component. You can also specify correlations among components, the stability of the autoregressive part, and cross-lagged paths. A five-wave version of this model is presented in the figure.

The Random Intercept Cross-Lagged Panel Model (RI-CLPM) is equivalent to a STARTS model without the state variance; the Cross-Lagged Panel Model (CLPM) is equivalent to the RI-CLPM without the stable trait. Therefore you can specify different data generating models by setting these variances to zero.

The app then runs the CLPM, RI-CLPM, and (optionally) STARTS models using the generated data

The purpose of this app is to test what happens to cross-lagged paths in the CLPM or RI-CLPM when either the Stable Trait or State variances are omitted from the model.

By default, the app only runs the CLPM and RI-CLPM. You can also try the full STARTS model on the generated data, but it can take a few extra seconds to run, so you have to explicitly ask for this output. Also note that you can specify values for which the data are impossible to generate (e.g., high stability plus strong cross-lagged paths). I don't have good error checking for this yet, so if the page freezes, just reload to restart. Finally, the app does produce output even for inadmissable solutions, so watch for negative variances.

Source code is available here: https://github.com/rlucas11/clpm_app