[R] crr - computationally singular

Ravi Varadhan RVaradhan at jhmi.edu
Thu Jun 25 17:55:00 CEST 2009


This means that your design matrix or model matrix is rank deficient, i.e it
does not have linearly independent columns.  Your predictors are collinear!


Just take your design matrices "covaea" or "covaeb" with 17 predcitors and
compute their rank or try to invert them.  You will see the problem.

Ravi.

----------------------------------------------------------------------------
-------

Ravi Varadhan, Ph.D.

Assistant Professor, The Center on Aging and Health

Division of Geriatric Medicine and Gerontology 

Johns Hopkins University

Ph: (410) 502-2619

Fax: (410) 614-9625

Email: rvaradhan at jhmi.edu

Webpage:
http://www.jhsph.edu/agingandhealth/People/Faculty_personal_pages/Varadhan.h
tml

 

----------------------------------------------------------------------------
--------


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Laura Bonnett
Sent: Thursday, June 25, 2009 11:39 AM
To: r-help at r-project.org
Subject: [R] crr - computationally singular

Dear R-help,

I'm very sorry to ask 2 questions in a week.  I am using the package 'crr'
and it does exactly what I need it to when I use the dataset a.
However, when I use dataset b I get the following error message:
Error in drop(.Call("La_dgesv", a, as.matrix(b), tol, PACKAGE = "base")) :
  system is computationally singular: reciprocal condition number =
1.28654e-24

This is obviously as a result of a problem with the data but apart from
dataset a having 1674 rows and dataset b having 701 rows there is really no
difference between them.

The code I am using is as follows where covaea and covaeb are matrices of
covarites, all coded as binary variables.
In case a:
> covaea <- 
> cbind(sexa,fsha,fdra,nsigna,eega,th1a,th2a,stype1a,stype2a,stype3a,pgu
> 1a,pgu2a,log(agea),firstinta/1000,totsezbasea)
> fita <- crr(snearma$with.Withtime,csaea,covaea,failcode=2,cencode=0)

and in case b:
> covaeb <- 
> cbind(sexb,fshb,fdrb,nsignb,eegb,th1b,th2b,stype1b,stype2b,stype3b,sty
> pe4b,stype5b,pgu1b,pgu2b,(ageb/10)^(-1),firstintb,log(totsezbaseb))
> fitb <- crr(snearmb$with.Withtime,csaeb,covaeb,failcode=2,cencode=0)

csaea and csaeb are the censoring indicators for a and b respectively which
equal 1 for the event of interest, 2 for the competing risks event and 0
otherwise.

Can anyone suggest a reason for the error message?  I've tried running fitb
with variants of covaeb and irrespective of the order of the covariates in
the matrix, the code runs fine with 16 of the 17 covariates included but
then produces an error message when the 17th is added.

Thank you for your help,

Laura

______________________________________________
R-help at 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.




More information about the R-help mailing list