CFA: specify input structure with loadings

32 views
Skip to first unread message

Edward Patzelt

unread,
Aug 27, 2018, 11:11:18 AM8/27/18
to lavaan
Hi Lavaan,

I have factor loadings from another study that were published online:

e.g., 

 

factor 1

factor 2

factor 3

item 1

0.43

NA

0.27

item 2

0.39

NA

NA

item 3

NA

0.52

NA

item 4

0.43

0.36

NA

item 5

NA

NA

0.45



I collected a new sample with the exact same items (questions). What I would like to do is take the loadings from this former study and use them to specify the input structure for the CFA. 

How would I do this? (i.e., syntax)

The overall question is whether the new sample has the same factor structure.

Best,

Edward

Terrence Jorgensen

unread,
Aug 28, 2018, 6:29:53 AM8/28/18
to lavaan
I have factor loadings from another study that were published online:

What does NA mean?  Are those fixed to zero?  Or is this an EFA, and those values were so low they didn't report them?

What I would like to do is take the loadings from this former study and use them to specify the input structure for the CFA. 

How would I do this? (i.e., syntax)

You can add fixed values this way in the syntax:

factor1 =~ .43*item1 + .39*item2 + ...


The overall question is whether the new sample has the same factor structure.

Well, simply the same structure (configural invariance) is less restrictive than the same structure + same values of factor loadings (weak / metric invariance).  Instead of values, you can specify factor1 =~ NA*item1 to simply freely estimate the parameter.

Terrence D. Jorgensen
Postdoctoral Researcher, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam


Edward Patzelt

unread,
Aug 28, 2018, 1:53:57 PM8/28/18
to lavaan
Thanks for the guidance, NA means the previous study used a cutoff of 0.25, so some items were completely dropped if they didn't meet that cutoff and if something cross-loaded then NA was applied for the factor loading that did not meet the cutoff

So let's say I want to test configural invariance without the loading values, can I also put cross loadings in my model specification, e.g.,

HS.model <- ' visual  =~ x1 + x2 + x3 + x5
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9 + x2 + x3'

and then for a more conservative approach,  

HS.model <- ' visual  =~ 0.45x1 + 0.36x2 + 0.47x3 + 0.29x5 
              textual =~ 0.55x4 + 0.50x5 + 0.43x6
              speed   =~ 0.20x7 + 0.50x8 + 0.62x9 + 0.78x2 + 0.27x3'

Is there any benefit to using the loadings for model specification in terms of confirming the fit of my CFA to the previous EFA?

Terrence Jorgensen

unread,
Aug 29, 2018, 8:40:09 AM8/29/18
to lavaan
You would need to add the asterisk operator between the value and the indicator.
 
HS.model <- ' visual  =~ 0.45*x1 + 0.36*x2 + 0.47*x3 + 0.29*x5 
              textual =~ 0.55*x4 + 0.50*x5 + 0.43*x6
              speed   =~ 0.20*x7 + 0.50*x8 + 0.62*x9 + 0.78*x2 + 0.27*x3'

Is there any benefit to using the loadings for model specification in terms of confirming the fit of my CFA to the previous EFA?

Fixing the loadings is not necessary if all you want to do is verify the same structure fits well in a new sample.  Estimating but equating the loadings across samples is something you would do in a multiple-group CFA to test for invariance, the benefit being that if invariance holds, you can draw valid inferences about how much the groups differ in homo/heterogeneity (size of variance) or correlations between constructs.
Reply all
Reply to author
Forward
0 new messages