From: John Fox <jfox_at_mcmaster.ca>

Date: Wed 16 Aug 2006 - 22:47:28 EST

John Fox

Department of Sociology

McMaster University

Hamilton, Ontario

Canada L8S 4M4

905-525-9140x23604

http://socserv.mcmaster.ca/jfox

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed Aug 16 22:59:26 2006

Date: Wed 16 Aug 2006 - 22:47:28 EST

There are a couple of problems here:

BTW, the Thurstone example in ?sem is for a confirmatory factor analysis (albeit a slightly more complicated one with a second-order factor). There's also an example of a one-factor CFA in the paper at <http://socserv.socsci.mcmaster.ca/jfox/Misc/sem/SEM-paper.pdf>, though this is for ordinal observed variables.

I hope this helps,

John

John Fox

Department of Sociology

McMaster University

Hamilton, Ontario

Canada L8S 4M4

905-525-9140x23604

http://socserv.mcmaster.ca/jfox

> -----Original Message-----

*> From: r-help-bounces@stat.math.ethz.ch
**> [mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Rick Bilonick
**> Sent: Tuesday, August 15, 2006 11:50 PM
**> To: R Help
**> Subject: [R] Specifying Path Model in SEM for CFA
**>
**> I'm using specify.model for the sem package. I can't figure
**> out how to represent the residual errors for the observed
**> variables for a CFA model. (Once I get this working I need to
**> add some further constraints.)
**>
**> Here is what I've tried:
**>
**> model.sa <- specify.model()
**> F1 -> X1,l11, NA
**> F1 -> X2,l21, NA
**> F1 -> X3,l31, NA
**> F1 -> X4,l41, NA
**> F1 -> X5, NA, 0.20
**> F2 -> X1,l12, NA
**> F2 -> X2,l22, NA
**> F2 -> X3,l32, NA
**> F2 -> X4,l42, NA
**> F2 -> X6, NA, 0.25
**> F1 <-> F2,g12, 1
**> F1 <-> F1,g11, 1
**> F2 <-> F2,g22, 1
**> X1 <-> X1, NA, 1
**> X2 <-> X2, NA, 1
**> X3 <-> X3, NA, 1
**> X4 <-> X4, NA, 1
**> X5 <-> X5, NA, 1
**> X6 <-> X6, NA, 1
**>
**> This at least converges:
**>
**> > summary(fit.sem)
**>
**> Model Chisquare = 2147 Df = 10 Pr(>Chisq) = 0
**> Chisquare (null model) = 2934 Df = 15
**> Goodness-of-fit index = 0.4822
**> Adjusted goodness-of-fit index = -0.087387
**> RMSEA index = 0.66107 90 % CI: (NA, NA)
**> Bentler-Bonnett NFI = 0.26823
**> Tucker-Lewis NNFI = -0.098156
**> Bentler CFI = 0.26790
**> BIC = 2085.1
**>
**> Normalized Residuals
**> Min. 1st Qu. Median Mean 3rd Qu. Max.
**> -5.990 -0.618 0.192 0.165 1.700 3.950
**>
**> Parameter Estimates
**> Estimate Std Error z value Pr(>|z|)
**> l11 -0.245981 0.21863 -1.12510 0.26054748 X1 <--- F1
**> l21 -0.308249 0.22573 -1.36555 0.17207875 X2 <--- F1
**> l31 0.202590 0.07910 2.56118 0.01043175 X3 <--- F1
**> l41 -0.235156 0.21980 -1.06985 0.28468885 X4 <--- F1
**> l12 0.839985 0.21962 3.82476 0.00013090 X1 <--- F2
**> l22 0.828460 0.22548 3.67418 0.00023862 X2 <--- F2
**> l32 0.066722 0.08369 0.79725 0.42530606 X3 <--- F2
**> l42 0.832037 0.21840 3.80963 0.00013917 X4 <--- F2
**> g12 0.936719 0.64331 1.45609 0.14536647 F2 <--> F1
**> g11 2.567669 1.25608 2.04418 0.04093528 F1 <--> F1
**> g22 1.208497 0.55040 2.19567 0.02811527 F2 <--> F2
**>
**> Iterations = 59
**>
**> And it produces the following path diagram:
**>
**> > path.diagram(fit.sem)
**> digraph "fit.sem" {
**> rankdir=LR;
**> size="8,8";
**> node [fontname="Helvetica" fontsize=14 shape=box];
**> edge [fontname="Helvetica" fontsize=10];
**> center=1;
**> "F2" [shape=ellipse]
**> "F1" [shape=ellipse]
**> "F1" -> "X1" [label="l11"];
**> "F1" -> "X2" [label="l21"];
**> "F1" -> "X3" [label="l31"];
**> "F1" -> "X4" [label="l41"];
**> "F1" -> "X5" [label=""];
**> "F2" -> "X1" [label="l12"];
**> "F2" -> "X2" [label="l22"];
**> "F2" -> "X3" [label="l32"];
**> "F2" -> "X4" [label="l42"];
**> "F2" -> "X6" [label=""];
**> }
**>
**> But I don't see the residual error terms that go into each of
**> the observed variables X1 - X6. I've tried:
**>
**> model.sa <- specify.model()
**> E1 -> X1, e1, 1
**> E2 -> X2, e2, 1
**> E3 -> X3, e3, 1
**> E4 -> X4, e4, 1
**> E5 -> X5, e5, 1
**> E6 -> X6, e6, 1
**> E1 <-> E1, s1, NA
**> E2 <-> E2, s2, NA
**> E3 <-> E3, s3, NA
**> E4 <-> E4, s4, NA
**> E5 <-> E5, s5, NA
**> E6 <-> E6, s6, NA
**> F1 -> X1,l11, NA
**> F1 -> X2,l21, NA
**> F1 -> X3,l31, NA
**> F1 -> X4,l41, NA
**> F1 -> X5, NA, 1
**> F2 -> X1,l12, NA
**> F2 -> X2,l22, NA
**> F2 -> X3,l32, NA
**> F2 -> X4,l42, NA
**> F2 -> X6, NA, 1
**> F1 <-> F2, NA, 1
**> F1 <-> F1, NA, 1
**> F2 <-> F2,g22, NA
**> X1 <-> X1, NA, 1
**> X2 <-> X2, NA, 1
**> X3 <-> X3, NA, 1
**> X4 <-> X4, NA, 1
**> X5 <-> X5, NA, 1
**> X6 <-> X6, NA, 1
**>
**> I'm trying to use E1 - E6 as the residual error terms. But I
**> get warning messages about no variances for X1-X6 and it
**> doesn't converge. Also, the associated path diagram:
**>
**> digraph "fit.sem" {
**> rankdir=LR;
**> size="8,8";
**> node [fontname="Helvetica" fontsize=14 shape=box];
**> edge [fontname="Helvetica" fontsize=10];
**> center=1;
**> "E1" [shape=ellipse]
**> "E2" [shape=ellipse]
**> "E3" [shape=ellipse]
**> "E4" [shape=ellipse]
**> "E5" [shape=ellipse]
**> "E6" [shape=ellipse]
**> "F2" [shape=ellipse]
**> "F1" [shape=ellipse]
**> "E1" -> "X1" [label=""];
**> "E2" -> "X2" [label=""];
**> "E3" -> "X3" [label=""];
**> "E4" -> "X4" [label=""];
**> "E5" -> "X5" [label=""];
**> "E6" -> "X6" [label=""];
**> "F1" -> "X1" [label="l11"];
**> "F1" -> "X2" [label="l21"];
**> "F1" -> "X3" [label="l31"];
**> "F1" -> "X4" [label="l41"];
**> "F1" -> "X5" [label=""];
**> "F2" -> "X1" [label="l12"];
**> "F2" -> "X2" [label="l22"];
**> "F2" -> "X3" [label="l32"];
**> "F2" -> "X4" [label="l42"];
**> "F2" -> "X6" [label=""];
**> }
**>
**> Has ellipses around the E1-E6 which I believe indicates they
**> are latent factors and not residual errors.
**>
**> If anyone could point in the right direction I would appreciate it.
**>
**> Rick B.
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide
**> http://www.R-project.org/posting-guide.html
**> and provide commented, minimal, self-contained, reproducible code.
*

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed Aug 16 22:59:26 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Thu 17 Aug 2006 - 04:26:57 EST.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*