My colleague wants to perform binomial logistic regression with data that include:

  • binomial (T/F) response variable

  • 35 different Likert-scale (1-5) predictor variables to choose between.

  • N = 300

They are trying to do the analyses in R.

At first I considered suggesting glm as follows:

glm(Y ~ X1 + X2 ..., data = dataset.name, family = binomial)

However, I don't think it's appropriate to treat the likert-scale predictors as continuous or as categorical data using factor(). These predictors are truly ordinal data.

Although a number of R packages exist that can fit one or more types of ordinal regression models, the most comprehensive among these seems to be the VGAM package.

However, I'm not sure how to incorporate a binomial response in a VGAM model.

Perhaps this isn't possible? Perhaps another package would be better?


What would be the appropriate way to perform a binomial logistic regression in R incorporating ordinal-scale predictor variables?


1 Answer 1


Ordinal regression is for ordinal responses, so you do not need such models. You can use logistic regression, the question is how to represent the ordinal predictors. That depends also on information you did not give us, such as number of observations (logistic regression tends to be rather data-hungry, see Minimum number of observations for logistic regression?.)

In R you can represent the likert variables as ordered factors, that way they will be represented as orthogonal polynomials. But that will use four df for each variables, which is probably to much. As an alternative you can represent them as numeric variables, but use maybe quadratic polys to represent them. That way you get some indication of nonlinearity. Another viewpoint is here: Likert scaled covariates and binary logistic regression

  • 1
    $\begingroup$ Thanks for the answer. I'm still working through it. FYI, I've updated my original post to include sample size: 300. I'm not sure if that impacts your answer to any degree. Thanks! $\endgroup$ Apr 16, 2019 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.