433 views

Skip to first unread message

Nov 7, 2019, 6:16:34 AM11/7/19

to lavaan

For my thesis I will use the bivariate latent change score model script from Kievit et al. (2019) to examine cross-domain coupling between a behavioural measure (COG) and a neural measure (NEU). As literature indicate clear gender/sex differences in both the behavioural measure and the neural measure I need to include gender either as a covariate or moderator. As I have to wait until the brain data has been processed, I don't know yet if gender needs to be included as a covariate or moderator, so I will built a script for both options.

Below an example of the simulated behavioural and neural data (adjusted from Kievit et al., (2019).

ID Gender COG_T2 NEU_T2 COG_T1 NEU_T1 1 1 1 76.22917 79.43908 53.20528 49.62215 2 2 1 66.36671 75.00343 49.30717 51.58633 3 3 0 66.48437 70.27303 49.86300 45.77009 4 4 0 77.75167 83.15892 55.53910 56.79443 5 5 0 71.70557 70.15355 49.94024 48.49120 6 6 0 66.85080 74.22823 50.59392 47.30940 7 7 0 70.00420 79.28115 49.02672 53.21601 8 8 0 71.91539 75.66060 52.97894 51.61178 9 9 1 71.94721 76.55157 52.68766 50.77945 10 10 1 72.88224 77.77361 52.23488 53.01573

Below the script adjusted form Kievit et al. (2019) without taking into account gender.

#Fix sample size

samplesize<-500

samplesize<-500

#Fit the Bivariate Latent Change Score model to simulated data

BLCS<-'

BLCS<-'

COG_T2 ~ 1*COG_T1 # This parameter regresses COG_T2 perfectly on COG_T1

dCOG1 =~ 1*COG_T2 # This defines the latent change score factor as measured perfectly by scores on COG_T2

dCOG1 ~ 1 # This estimates the intercept of the change score

COG_T1 ~ 1 # This estimates the intercept of COG_T1

COG_T2 ~ 0*1 # This constrains the intercept of COG_T2 to 0

dCOG1 =~ 1*COG_T2 # This defines the latent change score factor as measured perfectly by scores on COG_T2

dCOG1 ~ 1 # This estimates the intercept of the change score

COG_T1 ~ 1 # This estimates the intercept of COG_T1

COG_T2 ~ 0*1 # This constrains the intercept of COG_T2 to 0

NEU_T2 ~ 1*NEU_T1 # This parameter regresses NEU_T2 perfectly on NEU_T1

dNEU1 =~ 1*NEU_T2 # This defines the latent change score factor as measured perfectly by scores on NEU_T2

NEU_T2 ~ 0*1 # This line constrains the intercept of NEU_T2 to 0

NEU_T2 ~~ 0*NEU_T2 # This fixes the variance of the NEU_T1 to 0

NEU_T2 ~ 0*1 # This line constrains the intercept of NEU_T2 to 0

NEU_T2 ~~ 0*NEU_T2 # This fixes the variance of the NEU_T1 to 0

dCOG1 ~~ dCOG1 # This estimates the variance of the change scores

COG_T1 ~~ COG_T1 # This estimates the variance of the COG_T1

COG_T2 ~~ 0*COG_T2 # This fixes the variance of the COG_T2 to 0

COG_T2 ~~ 0*COG_T2 # This fixes the variance of the COG_T2 to 0

dNEU1 ~ 1 # This estimates the intercept of the change score

NEU_T1 ~ 1 # This estimates the intercept of NEU_T1

dNEU1 ~~ dNEU1 # This estimates the variance of the change scores

NEU_T1 ~~ NEU_T1 # This estimates the variance of NEU_T1

NEU_T1 ~ 1 # This estimates the intercept of NEU_T1

dNEU1 ~~ dNEU1 # This estimates the variance of the change scores

NEU_T1 ~~ NEU_T1 # This estimates the variance of NEU_T1

dNEU1~COG_T1+NEU_T1 # This estimates the COG to NEU coupling parameter and the COG to COG self-feedback

dCOG1~NEU_T1+COG_T1 # This estimates the NEU to COG coupling parameter and the NEU to NEU self-feedback

dCOG1~NEU_T1+COG_T1 # This estimates the NEU to COG coupling parameter and the NEU to NEU self-feedback

COG_T1 ~~ NEU_T1 # This estimates the COG_T1 NEU_T1 covariance

dCOG1~~dNEU1 # This estimates the dCOG and dNEU covariance

'

dCOG1~~dNEU1 # This estimates the dCOG and dNEU covariance

'

fitBLCS <- lavaan(BLCS, data=test_data, estimator='mlr',fixed.x=FALSE,missing='fiml')

I added Gender as covariate/moderator in the model like this:

COG_T2 ~ 1*COG_T1 + Gender + (COG_T1*Gender)

NEU_T2 ~ 1*NEU_T1 + Gender + (NEU_T1*Gender)

Gender ~ 1

This resulted in the following error:

> fitBLCS <- lavaan(BLCS, data=test_data, estimator='mlr',fixed.x=FALSE,missing='fiml') Error in lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, : lavaan ERROR: initial model-implied matrix (Sigma) is not positive definite; check your model and/or starting parameters.

Can someone explain me how I can correctly include gender as covariate/cover in this BLCS model?

Kind regards,

Vibeke Nielsen

Nov 7, 2019, 12:09:20 PM11/7/19

to lavaan

I would recommend to do this by a multiple group model, so you can compare the change score between groups, and all the relations as well, this would require to have enough subjects per group

If you are using the regression approach with the binary Gender variable:

- Cant have time2 variables as outcomes, you are already specifying full explianed variance in those variables through the change score

- Cant use the * to create interaction in lavaan, this creates labels

- Can specify like this, with the change score as the outcome: dCOG1 ~ COG_T1:Gender

- the : operator adds the regression for both predictors and the interaction between them (this only works for observed variables, not latent)

Nov 7, 2019, 4:40:45 PM11/7/19

to lavaan

Thank you very much for your tips, Mauricio Garnier-Villarreal.

I have indeed also tried to accomplish this by doing a multi group analysis, but as my supervisor preferes the 'regression method' you suggest, I will try this with your advice in mind.

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu