[R] Error when running Conditional Logit Model
Charles C. Berry
cberry at tajo.ucsd.edu
Sat Dec 5 03:24:42 CET 2009
On Fri, 4 Dec 2009, David Winsemius wrote:
>
> On Dec 4, 2009, at 5:49 PM, Hien Nguyen wrote:
>
>> Dear Dr. Winsemius,
>>
>> Thank you very much for your reply.
>>
>> I have tried many possible combinations (even with the model of only 2
>> predictors) but it produces the same message. With more than 4000
>> observations, I think 14 predictors might not be too many.
>
> It is what happens in the factor combinations that concern me. I am guessing
> that some of those predictors are factors. You really should not ask r-help
> questions without providing better descriptions of both the outcomes and the
> predictor variables.
>
>>
>> Although my dependent variable (Pin) is not discrete (it ranges from 0 to
>> 1), I do not think it will create problems to the estimation but I'm not
>> sure
>
> I would think it _would_ cause problems. As I understand it, conditional
> methods create contingency tables. Why are you using an outcome type that is
> not consistent with the fundamental regression assumptions of the clogit
> function?
>
> I do not get that particular error when I munge the infert dataset to have
> case be a random uniform value, but I do get an error.
>> infert$case <- runif(nrow(infert))
>> clogit(case~spontaneous+induced+strata(stratum),data=infert)
> Error in Surv(rep(1, 248L), case) : Invalid status value
>
David, I think you were on the right track. I get this:
-----------
> clogit(I(case*runif(length(case)))~spontaneous+induced+strata(ifelse(stratum>40,NA,stratum)),data=infert)
Error in fitter(X, Y, strats, offset, init, control, weights = weights, :
NA/NaN/Inf in foreign function call (arg 6)
In addition: Warning messages:
1: In Surv(rep(1, 248L), I(case * runif(length(case)))) :
Invalid status value, converted to NA
2: In fitter(X, Y, strats, offset, init, control, weights = weights, :
Ran out of iterations and did not converge
>
------------
which looks pretty much the same as Hien's error msg
So Hien needs to create a logical status value.
Chuck
p.s.
> sessionInfo()
R version 2.10.0 (2009-10-26)
i386-pc-mingw32
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] splines stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] survival_2.35-7
loaded via a namespace (and not attached):
[1] tools_2.10.0
>
> So I certainly would not have proceeded to submit a full analysis to clogit
> if I could not get a test case to run under the situation you propose.
>
> --
> David
>
>>
>> I have checked the collinearity among predictors and they are all < 0.5
>> (which I think is OK). Do you know what else could make this errors?
>>
>> Thanks a lot
>>
>> Hien Nguyen
>>
>> David Winsemius wrote:
>> >
>> > On Dec 4, 2009, at 9:22 AM, Hien Nguyen wrote:
>> >
>> > > Dear R-helpers,
>> > >
>> > > I am very new to R and trying to run the conditional logit model using
>> > > "clogit " command.
>> > > I have more than 4000 observations in my dataset and try to predict the
>> > > dependent variable from 14 independent variables. My command is as
>> > > follows
>> > >
>> > > clmtest1 <-
>> > > clogit(Pin~Income+Bus+Pop+Urbpro+Health+Student+Grad+NE+NW+NCC+SCC+CH+SE+MRD+strata(IDD),data=clmdata)
>> > >
>> > >
>> > > However, it produces the following errors:
>> > >
>> > > Error in fitter(X, Y, strats, offset, init, control, weights = weights,
>> > > :
>> > > NA/NaN/Inf in foreign function call (arg 6)
>> > > In addition: Warning messages:
>> > > 1: In Surv(rep(1, 4096L), Pinmig) : Invalid status value, converted to
>> > > NA
>> > > 2: In fitter(X, Y, strats, offset, init, control, weights = weights, :
>> > > Ran out of iterations and did not converge
>> > >
>> > > I search the error message from R forums but it does not say anything
>> > > for Conditional Logit Model.
>> >
>> > With that many predictors in a small dataset, you may have created matrix
>> > singularities. Perhaps you created a stratum where all of the subjects
>> > experience the event and others where none did so. The coefficients might
>> > be driven to infinities. Try simplifying the model.
>> >
>> >
>> > >
>> > > Please check for me what it says and what should I do to solve it.
>> > >
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
> ______________________________________________
> 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.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list