Ralf,
If you are representing this as a factor model, you need to have the factors lead to the variables:

model.RLIM <- specify.model()
  f1 ->  R  , laddR,  NA
    f1 ->  L    , laddL,  NA
   f1 ->  I    , laddI,  NA
   f1 ->   M,  laddM,  NA
   R <->  R,  dR,NA
   L <->  L,  dL,NA
   I <->  I,  dI,NA
   M <->  M,  dM,NA
   f1 <->  f1,  df1,NA

 sem(mod1,tcv,101)

 Model Chisquare =  5.955411   Df =  3

       F1R        F1L        F1I        x1e        x2e        x3e        x4e
0.20301850 0.28443881 0.39421470 0.10734247 0.09951485 0.09105800 0.31702970

 Iterations =  24


For a simple way to create the sem commands from an exploratory factor analysis, you might want to look at the psych package and the vignette: psych_for_sem.

e.g.,
 library(psych)
 f1 <- fa(tcv)     #do the exploratory factor analysis

mod1 <- structure.diagram(f1,errors=TRUE) #draw the path diagram from the model and create the sem commands
 mod1
  Path      Parameter StartValue
1 MR1->R F1R 2 MR1->L F1L 3 MR1->I F1I 4 R<->R x1e 5 L<->L x2e 6 I<->I x3e 7 M<->M x4e 8 MR1<->MR1 <fixed> 1
 sem(mod1,tcv,101)  #do the sem

 Model Chisquare =  5.955411   Df =  3

       F1R        F1L        F1I        x1e        x2e        x3e        x4e
0.20301850 0.28443881 0.39421470 0.10734247 0.09951485 0.09105800 0.31702970

 Iterations =  24

Best wishes,

Bill




At 6:23 PM +0200 11/25/09, Ralf Finne wrote:
Hi R-colleagues.

In the sem-package
i have a problem to introduce hidden variables.
As a simple example I take an ordinary factor analysis.
The program:

cmat=c(0.14855886, 0.05774635, 0.08003300, 0.04900990,
      0.05774635, 0.18042029, 0.11213013, 0.03752475,
            0.08003300, 0.11213013, 0.24646337, 0.03609901,
      0.04900990, 0.03752475, 0.03609901, 0.31702970)
rn=c("R","L","I","M")
cn=c("R","L","I","M")

tcv=matrix(cmat,nrow=4,ncol=4,dimnames=list(rn,cn))

model.RLIM <- specify.model()
   R  ->  f1, laddR,  NA
   L  ->  f1, laddL,  NA
   I  ->  f1, laddI,  NA
   M  ->  f1, laddM,  NA
   R <->  R,  dR,NA
   L <->  L,  dL,NA
   I <->  I,  dI,NA
   M <->  M,  dM,NA
   f1 <->  f1,  df1,NA

sem.RLIM=sem(model.RLIM,tcv,101)

The output:
Error in dimnames(x) <- dn :
 length of 'dimnames' [2] not equal to array extent
In addition: Warning messages:
1: In sem.default(ram = ram, S = S, N = N, param.names = pars, var.names = vars, :
  singular Hessian: model is probably underidentified.

2: In sem.default(ram = ram, S = S, N = N, param.names = pars, var.names = vars, :
  refitting without aliased parameters.

I use R version 2.10.0 (2009-10-26) under Windows XP
sem_0.9-19  version.

Where did I make a mistake? Have anyone of  you knowledge
of any other package doing similar things like Confirmative Factor Analysis
Ralf Finne
Novia University of Applied Science
Vasa  Finland

______________________________________________
R-help@r-project.org 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.


--
William Revelle         http://personality-project.org/revelle.html
Professor                       http://personality-project.org/personality.html
Department of Psychology             http://www.wcas.northwestern.edu/psych/
Northwestern University http://www.northwestern.edu/
Use R for psychology                       http://personality-project.org/r
It is 5 minutes to midnight     http://www.thebulletin.org

______________________________________________
R-help@r-project.org 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.

Reply via email to