[R] SEM - singularity error
nicolette.cagle at duke.edu
nicolette.cagle at duke.edu
Thu Sep 20 19:03:57 CEST 2007
Good afternoon Chuck,
I really appreciate your help. I just ran the factor analysis and did not
receive the singularity error (please see results below).
Do you happen to have any additional ideas or suggestions?
Thank you so much.
Call: factanal(x = thsi, factors = 1)
this edgedist_a isol ag10 urb10 rd10 slope
0.705 0.914 0.232 0.124 0.136 0.017 0.952
clay sand y
0.534 0.485 0.144
SS loadings 5.757
Proportion Var 0.576
Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 120.94 on 35 degrees of freedom.
The p-value is 2.17e-11
Quoting Chuck Cleland <ccleland at optonline.net>:
> nicolette.cagle at duke.edu wrote:
>> Good morning,
>> I am trying to develop a structural equation model of snake abundance using
>> habitat variables. In attempting to estimate the model using the
>> "sem" package
>> in R version 2.4.0, I receive the following error message:
>> "Error in solve.default(C) : system is computationally singular: reciprocal
>> condition number = 1.75349e-16"
>> MAIN PROBLEM: I am hoping to discover why I am receiving the aforementioned
>> error message and how to successfully estimate the model.
>> OTHER INFORMATION:
>> 1. I believe the model is over-identified rather than
>> under-identified (based on
>> my understanding of the t-rule). I have observed data for 10 variables (9
>> exogenous, 1 endogenous).
>> 2. I am not certain that I have used the proper tool to estimate the
>> matrix. In this case, I used the "VAR" function.
>> 3. I am most concerned that I have improperly coded the RAM file.
>> For example,
>> in a case where I have three exogenous indicators of one exogenous latent
>> variable, I specify a start value of 1 for one of the exogenous
>> indicators. I
>> am not sure if this is proper or necessary.
>> 4. I am new to SEM; this is the first model I have ever tried to estimate.
>> R CODE: Below is the r-code I have used to estimate the structural equation
>> model --
>> # LOADING R PACKAGES
>> # READING IN THE CSV FILES
>> # MAKING "RAM" FILE 2
>> model2.nlc <-specify.model()
>> Moist->slope, NA, 1
>> Moist->sand, lamda21, NA
>> Moist->clay, lamda31, NA
>> Hab->isol, NA, 1
>> Hab->edgedist_a, lamda52, NA
>> Hab->ag10, lamda62, NA
>> Hab->urb10, lamda72, NA
>> Hab->rd10, lamda82, NA
>> Hab->y, lamda92, NA
>> Moist->this, gamma11, NA
>> Hab->this, gamma12, NA
>> slope<->slope, theta11, NA
>> sand<->sand, theta22, NA
>> clay<->clay, theta33, NA
>> isol<->isol, theta44, NA
>> edgedist_a<->edgedist_a, theta55, NA
>> ag10<->ag10, theta66, NA
>> urb10<->urb10, theta77, NA
>> rd10<->rd10, theta88, NA
>> y<->y, the99, NA
>> Moist<->Moist, phi11, NA
>> Hab<->Hab, phi22, NA
>> this<->this, theps11, NA
>> # MAKING S (COVARIANCE MATRIX)
>> thsi.var <- var(thsi)
>> # MAKING UNSCALED SEM MODEL
>> sem2<-sem(ram=model2.nlc, S=thsi.var, N=22)
>> I am also attaching a jpeg diagram of the model I am trying to
>> estimate. Please
>> let me know if there is any additional information that I should add to this
>> Thank you so much for your time.
>> Nicolette Cagle
> Your specification of the model seems OK and it is over-identified (21
> free parameters and 34 df). I suspect the problem is that one or more
> of your 10 variables is a linear function of the remaining variables.
> If that is the case, then the following should give the same singularity
> factanal(thsi, factors=1)
> You may be able to drop one or more of the 10 variables from
> consideration and successfully estimate a conceptually similar model.
> hope this helps,
> Chuck Cleland
>> R-help at r-project.org mailing list
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> Chuck Cleland, Ph.D.
> NDRI, Inc.
> 71 West 23rd Street, 8th floor
> New York, NY 10010
> tel: (212) 845-4495 (Tu, Th)
> tel: (732) 512-0171 (M, W, F)
> fax: (917) 438-0894
Ecology Ph.D. Candidate
Durham, NC 27708
More information about the R-help