An Easy Way to Reverse Code Scale items

by

Before you run a Cronbach’s alpha or factor analysis on scale items, it’s generally a good idea to reverse code items that are negatively worded so that a high value indicates the same type of response on every item.

So for example let’s say you have 20 items each on a 1 to 7 scale. For most items, a 7 may indicate a positive attitude toward some issue, but for a few items, a 1 indicates a positive attitude.

I want to show you a very quick and easy way to reverse code them using a single command line. This works in any software.

Rather than specifying each individual recoded value–a 1 to 7, 2 to 6, and so on, just subtract the values from a constant one value higher than the highest value on the scale.

For example if OldVariable is reverse coded and on a 1 to 7 scale, in SPSS, do this:

COMPUTE NewVariable = 8 – OldVariable.  (You can also do it in the menus in Transform–>Compute).

In SAS, do this within a data step.

Data scale;
Set scale;
NewVariable = 8 – OldVariable;
Run;

The value from which you subtract your old variable will always be one value higher than the highest value you have. So I subtracted my old variable from 8 because I have a 1 to 7 scale. If I had a 1 to 5 scale, I would subtract my old variable from 6.

You can see how it works:

8-7=1
8-6=2
8-5=3
8-4=4
8-3=5
8-2=6
8-1=7

If you only have to reverse code one item, this isn’t a big deal.  But I have found that data cleaning and creating new variables often is the step in data analysis that takes the longest. I use whatever shortcuts I can.

Like this post?
Send to Kindle

Jake June 29, 2012 at 3:33 pm

The method you have presented works well when the lowest possible scale value is 1. The more general method for reverse scoring would be:
reversed score = (minimum score) + (maximum score) – actual score

Karen June 29, 2012 at 6:42 pm

Ah, yes! Excellent.

Karen

Ryan July 2, 2012 at 2:49 pm

So clever. Thanks!

Sheng April 16, 2013 at 5:19 pm

This saved me a bunch of time! Thanks!