I know it's a strange model, but what I'm trying to do is model a regular old unidimensional factor analysis, with the exception that the uniquenesses are all correlated with the factor. Here's how i've tried to specify my model:
man = paste(rep("Item", times=20), seq(1:20), sep="")
errors = paste(rep("e", times=20), seq(1:20), sep="")
lat=c("F1", errors)
loadings=mxPath(from=lat[1], to=man, arrows=1, values=.5, free=T)
fVar = mxPath(from=lat[1], arrows=2, free=F, values=.5, labels="D")
uniq = mxPath(from=lat[2:21], to=man, arrows=1, free=T, values=.5)
tecorr = mxPath(from=lat[2:21], to=lat[1], arrows=1, free=T, values=1)
fa = mxModel(
name="OmegaTest",
type="RAM",
mxData(observed=ddat, type='cov', numObs=20000),
manifestVars = man,
latentVars = lat,
loadings,
fVar,
uniq,
tecorr
)
From this, I get an error message saying: "The job for model 'OmegaTest' exited abnormally with the error message: Backing out of parameter space region where expected covariance is non-positive-definite."
It sounds like a specification problem, but how do I fix it? How do I tell R that I want all the residuals to correlate with the factor? I've included a (condensed) diagram to show you what I'm trying to model. Thanks!