[R-pkgs] sem package (version 2.1-1)
John Fox
jfox at mcmaster.ca
Thu Nov 24 17:33:54 CET 2011
Dear R users,
Version 2.1-1 of the sem package, for structural equation modeling, is now
on CRAN.
Unlike version 2.0-0, which was a major overhaul of the package, version
2.1-1 just sprinkles some syntactic sugar on it, introducing the
specifyEquations() and cfa() functions; specifyEquations() supports model
specification in equation (rather than path) format, and cfa() facilitates
compact specification of simple confirmatory factor analysis models.
For example, from ?sem, the Duncan, Haller, and Portes peer-influences model
can now be specified as
model.dhp.1 <- specifyEquations(covs="RGenAsp, FGenAsp")
RGenAsp = gam11*RParAsp + gam12*RIQ + gam13*RSES + gam14*FSES +
beta12*FGenAsp
FGenAsp = gam23*RSES + gam24*FSES + gam25*FIQ + gam26*FParAsp +
beta21*RGenAsp
ROccAsp = 1*RGenAsp
REdAsp = lam21(1)*RGenAsp # to illustrate setting start values, not
necessary here
FOccAsp = 1*FGenAsp
FEdAsp = lam42(1)*FGenAsp
and the Wheaton alientation model as
model.wh <- specifyEquations()
Anomia67 = 1*Alienation67
Powerless67 = lamby*Alienation67
Anomia71 = 1*Alienation71
Powerless71 = lamby*Alienation71
Education = 1*SES
SEI = lambx*SES
Alienation67 = gam1*SES
Alienation71 = gam2*SES + beta*Alienation67
V(Anomia67) = the1
V(Anomia71) = the1
V(Powerless67) = the2
V(Powerless71) = the2
V(SES) = phi
C(Anomia67, Anomia71) = the5
C(Powerless67, Powerless71) = the5
Similarly, the following are equivalent specifications of a CFA model for
the Thurstore mental-tests data:
(1) in CFA format:
mod.cfa.thur.c <- cfa()
FA: Sentences, Vocabulary, Sent.Completion
FB: First.Letters, 4.Letter.Words, Suffixes
FC: Letter.Series, Pedigrees, Letter.Group
cfa.thur.c <- sem(mod.cfa.thur.c, R.thur, 213)
summary(cfa.thur.c)
(2) in equation format:
mod.cfa.thur.e <- specifyEquations(covs="F1, F2, F3")
Sentences = lam11*F1
Vocabulary = lam21*F1
Sent.Completion = lam31*F1
First.Letters = lam42*F2
4.Letter.Words = lam52*F2
Suffixes = lam62*F2
Letter.Series = lam73*F3
Pedigrees = lam83*F3
Letter.Group = lam93*F3
V(F1) = 1
V(F2) = 1
V(F3) = 1
cfa.thur.e <- sem(mod.cfa.thur.e, R.thur, 213)
summary(cfa.thur.e)
(3) in path format:
mod.cfa.thur.p <- specifyModel(covs="F1, F2, F3")
F1 -> Sentences, lam11
F1 -> Vocabulary, lam21
F1 -> Sent.Completion, lam31
F2 -> First.Letters, lam41
F2 -> 4.Letter.Words, lam52
F2 -> Suffixes, lam62
F3 -> Letter.Series, lam73
F3 -> Pedigrees, lam83
F3 -> Letter.Group, lam93
F1 <-> F1, NA, 1
F2 <-> F2, NA, 1
F3 <-> F3, NA, 1
As usual, I'd be grateful for comments, suggestions, and bug reports.
Best,
John
--------------------------------
John Fox
Senator William McMaster
Professor of Social Statistics
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox
More information about the R-packages
mailing list