I need to tip to estimate the interaction effect among latent variables

1,674 views
Skip to first unread message

Seongho Bae

unread,
Nov 23, 2013, 7:18:29 AM11/23/13
to lav...@googlegroups.com
Dear all.

I need to tip to estimate the interaction effect among latent variables for hierarchical factor structure what I constructed 2nd ordered structure.

Here is my syntax of parts. 

Fit <- '
# Entrepreneurs action
EA_information =~ EA_Buntler3 + EA_Buntler4 + EA_Buntler5 + EA_Buntler6
EA_plan =~ EA_Koo1 + EA_Koo2
EA_worker_edu =~ EA_Koo3 + EA_Koo4
EA_intervention =~ EA_Koo6 + EA_Koo7 + EA_Koo8 + EA_Koo9 + EA_Koo10 + EA_Koo11
EA =~ EA_information + EA_plan + EA_worker_edu + EA_intervention

# environment (mediator moderator)
EV_finance =~ finance1 + finance2 + network4
EV_information =~ network1 + network2 + network3
EV =~ EV_information + EV_finance

# Entrepreneurs Performance
EP_objective =~ performance2 + performance3 + performance4 + performance5 + performance6
EP_career =~ performance7 + performance8
EP_subjective =~ performance9 + performance10 + performance11
EP =~ EP_objective + EP_career + EP_subjective

# main effect
EP ~ EA + EV

# moderating effect
EP ~ EA * EV
'

I know this: In the lavaan, I have to make new variables for interaction terms in data.frame by myself before execute lavaan
But, I want to make a testing interaction hypothesis (or a term) directly. Because, factor structures are 2nd-ordered structure. I don't know how make new interaction terms in data.frame for 2nd-ordered structure.

Please give me some tips.

Thanks a lot every writing new topic for my questions.


--
Seongho Bae

Terrence Jorgensen

unread,
Nov 23, 2013, 1:48:53 PM11/23/13
to lav...@googlegroups.com

I know this: In the lavaan, I have to make new variables for interaction terms in data.frame by myself before execute lavaan
But, I want to make a testing interaction hypothesis (or a term) directly. Because, factor structures are 2nd-ordered structure. I don't know how make new interaction terms in data.frame for 2nd-ordered structure.


lavaan cannot estimate interactions among latent variables.  The only software that can do so in the way you want, is Mplus, using the "XWITH" operator.  In any other software, your alternatives are to use the product-indicator approach (see the indProd() function in the semTools package to make this task easier) or to extract your factor scores from the hierarchical CFA of your latent variables, then fit a regression model with lm() that can include the interaction term.  I would not recommend the factor scores unless you evaluate them and they have very high correspondence with the latent factors (e.g., high validity measures, almost identical correlation matrices) -- if the factor scores are not well estimated, then any interaction effect would likely be attenuated.

Another option would be to use WinBUGS or OpenBUGS to estimate a Bayesian model, which draws factor scores at every iteration before drawing parameters, so you can get a posterior distribution of the interaction effect as easily as you can for the main effects.  Details are in a recent book that includes syntax examples for all their models:

http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470669527.html


Terry

Ulrich Schroeders

unread,
Feb 20, 2015, 4:56:10 PM2/20/15
to lav...@googlegroups.com
Dear Terry, dear Yves,

I was just curious if there has been any new development on this topic.
Any intention to add the functionality of Mplus' XWITH into lavaan in the near future, so that moderation effects on a latent mean can be estimated?

Keep up the good work, kind regards,
Ulrich

Carlo Chiorri

unread,
Feb 28, 2015, 6:50:31 AM2/28/15
to lav...@googlegroups.com
Hi all,

you can find a tutorial about latent variable interaction in R here.


C.

yrosseel

unread,
Feb 28, 2015, 7:04:48 AM2/28/15
to lav...@googlegroups.com
On 02/20/2015 10:56 PM, Ulrich Schroeders wrote:
> Dear Terry, dear Yves,
>
> I was just curious if there has been any new development on this topic.
> Any intention to add the functionality of Mplus' XWITH into lavaan in
> the near future, so that moderation effects on a latent mean can be
> estimated?

Have a look at this new package:

http://cran.r-project.org/web/packages/nlsem/index.html

which implements the LMS method among others.

I will try to provide a lavaan interface for this package in the near
future.

Yves.

Njål Foldnes

unread,
Mar 5, 2015, 1:19:11 PM3/5/15
to lav...@googlegroups.com
Yes, Yves, this will be a major update to lavaan. Hope you find time to knit nlsem into lavaan! 
Reply all
Reply to author
Forward
0 new messages