[R-pkgs] sem package (version 2.1-1)

From: John Fox <jfox_at_mcmaster.ca>
Date: Thu, 24 Nov 2011 11:33:54 -0500


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

R-packages mailing list
R-packages_at_r-project.org
https://stat.ethz.ch/mailman/listinfo/r-packages Received on Fri 25 Nov 2011 - 03:37:22 EST

This archive was generated by hypermail 2.2.0 : Fri 25 Nov 2011 - 03:40:01 EST