Hi Everyone!
This is my first try at estimating a Random-Intercept Cross-Lagged Panel Model in lavaan.
I shamelessly copied the code from Mund & Nestler 2018, but upon execution I get a warning that the covariance matrix
of the latent variables is not positive definitive. I have searched for possible reasons for non-positive definitiveness on this board allready and either I'm too dense to identify them (very much possible) or they dont apply.
I would love some help on this!!
The model I'm trying to implement looks like this:
only with 6 measurements for both my x variable (pain experienced) and my y variable (level of depression).
My code for the model looks like this:
"
                                # Define intercept factors
                                iPain =~ 1*Pain.0 + 1*Pain.1 + 1* Pain.2 + 1*Pain.3 + 1*Pain.4 + 1*Pain.5
                                iDepression =~ 1*Depression.0 + 1*Depression.1 + 1* Depression.2 + 1*Depression.3 + 1*Depression.4 + 1*Depression.5
                               Â
                                # Define phantom latent variables
                                etaPain.0 =~ 1*Pain.0
                                etaPain.1 =~ 1*Pain.1
                                etaPain.2 =~ 1*Pain.2
                                etaPain.3 =~ 1*Pain.3
                                etaPain.4 =~ 1*Pain.4
                                etaPain.5 =~ 1*Pain.5
                               Â
                               Â
                                etaDepression.0 =~ 1*Depression.0
                                etaDepression.1 =~ 1*Depression.1
                                etaDepression.2 =~ 1*Depression.2
                                etaDepression.3 =~ 1*Depression.3
                                etaDepression.4 =~ 1*Depression.4
                                etaDepression.5 =~ 1*Depression.5
                               Â
                               Â
                                # Autoregressive effects
                               Â
                                etaPain.1 ~ ap1*Pain.0
                                etaPain.2 ~ ap1*Pain.1
                                etaPain.3 ~ ap1*Pain.2
                                etaPain.4 ~ ap1*Pain.3
                                etaPain.5 ~ ap1*Pain.4
                               Â
                               Â
                               Â
                                etaDepression.1 ~ ad1*Depression.0
                                etaDepression.2 ~ ad1*Depression.1
                                etaDepression.3 ~ ad1*Depression.2
                                etaDepression.4 ~ ad1*Depression.3
                                etaDepression.5 ~ ad1*Depression.4
                               Â
                               Â
                                # Crosslagged effects
                               Â
                                etaPain.1 ~ cp1*Depression.0
                                etaPain.2 ~ cp1*Depression.1
                                etaPain.3 ~ cp1*Depression.2
                                etaPain.4 ~ cp1*Depression.3
                                etaPain.5 ~ cp1*Depression.4
                               Â
                               Â
                               Â
                                etaDepression.1 ~ cd1*Pain.0
                                etaDepression.2 ~ cd1*Pain.1
                                etaDepression.3 ~ cd1*Pain.2
                                etaDepression.4 ~ cd1*Pain.3
                                etaDepression.5 ~ cd1*Pain.4
                               Â
                               Â
                                # Some further constraints on the variance structure
                                # 1. Set error variances of the observed variables to zero
                               Â
                                Pain.0 ~~ 0*Pain.0
                                Pain.1 ~~ 0*Pain.1
                                Pain.2 ~~ 0*Pain.2
                                Pain.3 ~~ 0*Pain.3
                                Pain.4 ~~ 0*Pain.4
                                Pain.5 ~~ 0*Pain.5
                              Â
                               Â
                                Depression.0 ~~ 0*Depression.0
                                Depression.1 ~~ 0*Depression.1
                                Depression.2 ~~ 0*Depression.2
                                Depression.3 ~~ 0*Depression.3
                                Depression.4 ~~ 0*Depression.4
                                Depression.5 ~~ 0*Depression.5
                               Â
                               Â
                                # 2. Let lavaan estimate the variance of the latent variables
                               Â
                                etaPain.0 ~~ varPain.0*etaPain.0
                                etaPain.1 ~~ varPain.1*etaPain.1
                                etaPain.2 ~~ varPain.2*etaPain.2
                                etaPain.3 ~~ varPain.3*etaPain.3
                                etaPain.4 ~~ varPain.4*etaPain.4
                                etaPain.5 ~~ varPain.5*etaPain.5
                               Â
                               Â
                                etaDepression.0 ~~ varDepression.0*etaDepression.0
                                etaDepression.1 ~~ varDepression.1*etaDepression.1
                                etaDepression.2 ~~ varDepression.2*etaDepression.2
                                etaDepression.3 ~~ varDepression.3*etaDepression.3
                                etaDepression.4 ~~ varDepression.4*etaDepression.4
                                etaDepression.5 ~~ varDepression.5*etaDepression.5
                               Â
                               Â
                                # 3. We also want estimates of the intercept factor variances and and
                                #   estimate of their covariance
                               Â
                                iPain ~~ variPain*iPain
                                iDepression ~~ variDepression*iDepression
                                iPain ~~ covi*iDepression
                               Â
                                # 4. We have to define that the covariance between the intercepts and
                                #   the latents of the first time point are zero
                               Â
                                etaPain.0 ~~ 0*iPain
                                etaDepression.0 ~~ 0*iPain
                                etaPain.0 ~~ 0*iDepression
                                etaDepression.0 ~~ 0*iDepression
                               Â
                                # 5. Finally, we estimate the covariance between the latents of x and y
                                #   of the first time point, the second time-point and so on. note that
                                #   for the second to fourth time point the correlation is constrained to
                                #   the same value
                               Â
                                etaPain.0 ~~ cov1*etaDepression.0
                                etaPain.1 ~~ e1*etaDepression.1
                                etaPain.2 ~~ e1*etaDepression.2
                                etaPain.3 ~~ e1*etaDepression.3
                                etaPain.4 ~~ e1*etaDepression.4
                                etaPain.5 ~~ e1*etaDepression.5
                               Â
                               Â
                                # The model also contains a mean structure and we have to define some
                                # constraints for this part of the model. the assumption is that we
                                # only want estimates of the mean of the intercept factors. all other means
                                # are defined to be zero:
                               Â
                                Pain.0 ~ 0*1
                                Pain.1 ~ 0*1
                                Pain.2 ~ 0*1
                                Pain.3 ~ 0*1
                                Pain.4 ~ 0*1
                                Pain.5 ~ 0*1
                              Â
                               Â
                                Depression.0 ~ 0*1
                                Depression.1 ~ 0*1
                                Depression.2 ~ 0*1
                                Depression.3 ~ 0*1
                                Depression.4 ~ 0*1
                                Depression.5 ~ 0*1
                               Â
                               Â
                                etaPain.0 ~ 0*1
                                etaPain.1 ~ 0*1
                                etaPain.2 ~ 0*1
                                etaPain.3 ~ 0*1
                                etaPain.4 ~ 0*1
                                etaPain.5 ~ 0*1
                              Â
                               Â
                                etaDepression.0 ~ 0*1
                                etaDepression.1 ~ 0*1
                                etaDepression.2 ~ 0*1
                                etaDepression.3 ~ 0*1
                                etaDepression.4 ~ 0*1
                                etaDepression.5 ~ 0*1
                               Â
                               Â
                                iPain ~ 1
                                iDepression ~ 1
                               Â
                                ## define correlations
                                cori := covi / (sqrt(variPain) * sqrt(variDepression))
                                cort0 := cov1 / (sqrt(varPain.0) * sqrt(varDepression.0))
                                cort1 := e1 / (sqrt(varPain.1) * sqrt(varDepression.1))
                                cort2 := e1 / (sqrt(varPain.2) * sqrt(varDepression.2))
                                cort3 := e1 / (sqrt(varPain.3) * sqrt(varDepression.3))
                                cort4 := e1 / (sqrt(varPain.4) * sqrt(varDepression.4))
                                cort5 := e1 / (sqrt(varPain.5) * sqrt(varDepression.5))
                               Â
                                "
and this is the cor matrix: