[R] Error in contrasts message when using logistic regression code.

Marc Schwartz marc_schwartz at me.com
Tue Oct 23 21:40:14 CEST 2012


On Oct 23, 2012, at 1:43 PM, hoguejm <hoguejm at gmail.com> wrote:

> I have a rather large data set (about 30 predictor variables)
> 
> I need to preform a logistic regression on this data. My response variable
> is binary.
> 
> My code looks like this:
> 
> mylogit <- glm(Enrolled ~ A + B + C + ... + EE, data = data, family =
> binomial(link="logit"))
> 
> with A,B,C, ... as my predictor variables. Some categorical, some
> continuous, some binary.
> 
> I run the code and get this error:
> 
> Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
>  contrasts can be applied only to factors with 2 or more levels
> 
> Any ideas on how to fix this? I am fairly new to R so Im guessing there is
> something missing/wrong in my logit code. 
> 
> Thanks!


More than likely, one or more of your categorical variables are not set up as factors, or if they are, then one or more have only a single factor level present in the dataset that is used for the model, thus are constant.

You might want to run:

  # see ?str
  str(data)

and:

  # see ?summary
  summary(data)

to get a sense of the structure of your data set (to make sure that you have factors and not character vectors) and to get a sense for the distribution of your IVs.

Regards,

Marc Schwartz




More information about the R-help mailing list