Ordinal predictors in linear multiple regression in SPSS or R

I want to include individual symptoms of a disorder to predict remission of the sum score of the disorder some weeks later (sum score = metric variable).

The individual symptoms are coded 0, 1, 2 and 3. They are not at all normally distributed, some of them are extremely skewed (e.g. 80% have 0 or 70% have 3). I want to treat them as ordinal, therefor.

Is there a way to do this in SPSS? Dummy coding would imply nominal, not ordered, and just entering them as predictors like they are makes me wonder whether SPSS treats them as metric.

If not, is there a way to do this in R? I'm new to R so ... don't really know much about it.

Thank you

• For specific R questions I have been told to go to the programmers site SO. They get about 100 times the number of questions as CV. I am new to R also and went to them and got some help on one question. But there are some who will downvote naive questions there (more so than here). Oct 9 '12 at 18:32
• I'm not sure to understand the link between skewness (which is expected for this kind of data) and the use of ordered response categories, as implied by your "therefore". Of course these are ordinal data. Besides, you also speak of using item scores and the resulting sum score, for each individual. Could you explain the purpose of this analysis? This might well make this question a statistical question and not a coding issue. @Michael Your comment is not really encouraging, IMO.
– chl
Oct 9 '12 at 19:36
• @chi I am not trying to incourage or discourage. I am just informing. Oct 9 '12 at 20:21
• @chl: The purpose of the analysis is to predict a continuous variable (a sum score of a clinical screening instrument) by a bunch of ordered variables, which are items of the this very screening instrument at a previous measurement point. Do symptoms at baseline before treatment predict how a person will do 8 or 12 weeks into treatment, as measured by the sum score. Oct 9 '12 at 22:41

You have two options for including this variable in the regression:

1. Just use the variable as it is, no dummy variable coding. People do this all the time with 5 point Likert scales. This method assumes that moving from 0 to 1 has the same effect as moving from 1 to 2 and from 2 to 3. You may not want to make this assumption.

2. Use the as.factor function in R to code the variable into three dummy variables relative to the base case (0). You no longer have to assume that the marginal effect of increasing by one level is constant.

The more levels you have in your ordinal variable, the more option 1 would be preferred over option 2 - at some point you have more dummy variables than you want to deal with and interpret.

I don't think there is a way to "force" an independent variable to be ordinal.

• +1 except for the (very common) conflation of "Likert scale" with "rating item." See stats.stackexchange.com/questions/10382/… Oct 9 '12 at 19:32
• Thank you. If the only alternative is dummy coding I might just go with continuous and try to use robust regression techniques to account for non-normality. Oct 9 '12 at 22:44
• There's no need at all to account for non-normality of predictors in regression. Apr 3 '13 at 10:53

A third option is to use a dummy coding as in (2) but to penalize differences in the coefficients of adjacent categories:

http://cran.r-project.org/web/packages/ordPens/ordPens.pdf