Navigating CFA, Higher-Order Models, and SEM Analysis in R

Hey everyone, I’m kinda lost with my research project. I’ve got this cool model I made up, but now I’m stuck on how to test it. I know I should use CFA or SEM, but stats isn’t really my thing.

I want to use R for this because I think it’ll help me learn better. At first, I thought I needed to do EFA, but that was a dead end.

Now I’m wondering if my model counts as a third-order factor thing? It’s got these mediator variables on one side and some other stuff in the middle.

I’ve seen examples of second-order models, but nothing quite like mine. Any tips on how to tackle this in R? I’m totally new to this, so any help would be awesome!

Here’s a quick sketch of what my model looks like:

[Mediators] -> [Middle Stuff] -> [Big Concept]

Thanks for any advice you can give!

Hey BrilliantCoder23! Your model sounds pretty interesting. I’ve dabbled in SEM stuff before, and it can definitely be a head-scratcher at first.

For your third-order factor model in R, you might wanna check out the ‘lavaan’ package. It’s super flexible for complex models like yours. Here’s a rough idea of how you could set it up:

model <- '
  # First-order factors
  Mediators =~ m1 + m2 + m3
  MiddleStuff =~ ms1 + ms2 + ms3

  # Second-order factor
  SecondOrder =~ Mediators + MiddleStuff

  # Third-order factor
  BigConcept =~ SecondOrder

  # Add any other relationships you need
'

This is just a starting point, though. You’ll need to tweak it based on your specific variables and hypotheses.

Have you thought about visualizing your model first? Sometimes sketching it out can really help clear things up.

Also, don’t stress too much about getting it perfect right away. SEM is all about iterating and refining your model. What’s your research question, by the way? Sometimes going back to that can help guide your modeling decisions.

Keep us posted on how it goes! :blush:

hey there! i’ve worked with sem in r before, it can be tricky. for ur model, check out the lavaan package. it’s great for higher-order stuff. try something like:

model ← ’
Mediators =~ x1 + x2 + x3
MiddleStuff =~ y1 + y2 + y3
BigConcept =~ MiddleStuff
BigConcept ~ Mediators

fit ← sem(model, data=yourdata)

Good luck!