factor.scores in fsr

65 views
Skip to first unread message

Ulrich Schroeders

unread,
Jun 19, 2019, 5:57:04 PM6/19/19
to lavaan
Dear lavaan team,

I've some longitudinal clinical/non-clinical data and I'm running fsr to reduce model complexity. Two questions: 
  1. I'm interested in mean-level differences in the factor scores between the clinical vs. non-clinical group. How do I get the factor scores from the fit object? Unfortunately, this function isn't well documented yet. BTW: The SEM is scalar measurement invariant across groups.
  2. I'm doing all this because I want to study the change in the longitudinal data. In an IRT framework, you could equate separate timepoint-specific scalings to locate person estimates on a common scale. In my understanding, this should also be possible in an fsr context, by constraining the loadings/intercepts at the 2nd, 3rd... time point to the estimated values of the first time point. Any suggestions or recommendations?
I'm really looking forward to your replies and help is much appreciated.

Kind regards
Ulrich

Terrence Jorgensen

unread,
Jun 20, 2019, 3:32:42 PM6/20/19
to lavaan
  1. I'm interested in mean-level differences in the factor scores between the clinical vs. non-clinical group. How do I get the factor scores from the fit object? Unfortunately, this function isn't well documented yet. BTW: The SEM is scalar measurement invariant across groups.
See the ?lavPredict help page for some details about different methods lavaan provides for estimate factor scores.  The latest development version of lavaan suggests in the Examples section to use the plausibleValues() function, now available in the development version of semTools.  To install both:

install.packages("lavaan", repos = "http://www.da.ugent.be", type = "source")
devtools
::install_github("simsem/semTools/semTools")

To read about the plausible values approach, find references in this very brief Mplus report:


Estimating factor scores from the scalar invariance model should preserve the latent-mean differences you are interested in.
  1. I'm doing all this because I want to study the change in the longitudinal data. In an IRT framework, you could equate separate timepoint-specific scalings to locate person estimates on a common scale. In my understanding, this should also be possible in an fsr context, by constraining the loadings/intercepts at the 2nd, 3rd... time point to the estimated values of the first time point. Any suggestions or recommendations?
 Are you referring to equating scales from different models?  That is problematic because it assumes rather than tests the equivalence of all measurement parameters.  I would recommend fitting all occasions in a single model, equating by literally imposing equality constraints on measurement parameters.  If you are working with categorical indicators (you mentioned IRT), the semTools package also includes a syntax-writing function to facilitate sorting out all the identification vs. hypothesized-equality constrain issues:  ?measEq.syntax

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

Ulrich Schroeders

unread,
Jun 21, 2019, 4:47:24 PM6/21/19
to lavaan
Dear Terrence,

thanks for your detailed and great response.
I think I will try the PV approach.

Kind regards
Ulrich
Reply all
Reply to author
Forward
0 new messages