Skip to first unread message

Nov 15, 2018, 6:10:02 AM11/15/18

to lavaan

I have a methodical question that might be better answered on SEMnet. Since I use lavaan, I hope it is okay anyway. I have a 2nd order construct (FX), several target variables (FY1, FY2) and a one-dimensional latent variable (FM). I want to test whether FM moderates the effects FX -> FY1 and FX -> FY2. Unfortunately I didn't find any literature on this problem, so I used the product indicator approach as I think it makes sense. My lavaan code is the following (mean centering and the calculation of the product indicators were done in the dataset with Excel):

#Moderator

FM =~ m1 + m2 + m3

#2nd order construct

FXD1 =~ x1 +x2 + x3 + x4

FXD2 =~ x5 + x6 + x7 + x8

…

FX =~ FXD1 + FXD2 + …

FXxFMD1 =~ x1xm1 + x2xm2 + x3xm3

FXxFMD2 =~ x5xm1 + x6xm2 + x7xm3

…

FXxMD =~ FXFMD1 + FXxFMD2 + …

x1xm1 ~~ x5xm1

x2xm2 ~~ x6xm2

x3xm3 ~~ x7m3

…

# Outcome variables

FY1 = y1 + y2 + y3 + y4

FY2 =~ y5 + y6 + y7 + y8

# Regressions

FY1 ~ FX + FM + FXxMD

FY2 ~ FX + FM + FXxMD + FY1

To get an impression if the results make sense, I calculated factor scores and did a simple moderator regression with PROCESS (the shame is on my side, something better didn't occur to me). Basically, the results seem to indicate that the procedure might work. Nevertheless, I would like to ask some questions:

(1) The dimensions of the second order construct are each measured with 4 indicators. The moderator with 3 indicators. As product indicators I used 3 variables (x1xm1 + x2xm2 + x3xm3). The selection of the indicators is of course arbitrary. Is there a "better" solution that is not over-complex?

(2) I'm not sure if this approach makes sense at all. It results in another 2nd order construct (FXxMD). Is there something better here?

(3) Is there possibly a completely different and better approach with lavaan?

Nov 23, 2018, 10:19:36 AM11/23/18

to lavaan

mean centering and the calculation of the product indicators were done in the dataset with Excel

You can use the `indProd()` function in semTools, which automates this process, as well as better methods than simple mean-centering (e.g., double-mean-centering; see the References list on the `?indProd` help page).

(1) The dimensions of the second order construct are each measured with 4 indicators. The moderator with 3 indicators. As product indicators I used 3 variables (x1xm1 + x2xm2 + x3xm3). The selection of the indicators is of course arbitrary. Is there a "better" solution that is not over-complex?

I don't know what the "best" solution is, but you can set the argument `indProd(..., match = FALSE)` to calculate all possible product terms.

(2) I'm not sure if this approach makes sense at all. It results in another 2nd order construct (FXxMD). Is there something better here?

I've never seen latent moderation involving a higher-order construct, so unsure whether this produces good results. You could use LMS in Mplus, which does not require product indicators.

(3) Is there possibly a completely different and better approach with lavaan?

You could also use Bayesian methods, which allow you to calculate the product terms between the latent factor scores, which are drawn as parameters.

The blavaan package can help you with this. You can specify a simpler model (without the interaction effects or product indicators) in blavaan, save the JAGS or Stan syntax that blavaan generates, then adapt the JAGS or Stan syntax by calculating the latent interaction effects you are interested in, and estimating their effects on the latent outcomes.

Terrence D. Jorgensen

Assistant Professor, Methods and Statistics

Research Institute for Child Development and Education, the University of Amsterdam

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu