SPSS 역코딩 방법: 역문항 한 번에 바꾸는 신택스
COMPUTE Q3_R = 6 - Q3. 한 줄이면 됩니다. 여러 문항은 RECODE 또는 아래 무료 신택스 생성기로 한 번에 처리할 수 있습니다.
설문 데이터를 분석하다 보면 방향이 반대인 역문항(부정 문항)을 만나게 됩니다. 예를 들어 "나는 수업이 즐겁다"와 "나는 수업이 지루하다"가 같은 척도에 섞여 있으면, 둘을 그대로 합산할 수 없습니다. 이때 필요한 것이 역코딩(reverse coding)입니다. 이 글에서는 SPSS에서 역코딩하는 세 가지 방법과, 역코딩 뒤 평균·합산을 만드는 법, 그리고 신뢰도 분석 전에 꼭 확인할 점까지 예시 코드로 정리합니다.
역코딩이 필요한 이유
리커트 척도에서 대부분 문항은 "점수가 높을수록 그 속성이 강함"을 뜻합니다. 그런데 역문항은 방향이 반대라, 응답자가 5점을 줬어도 실제로는 "낮음"을 의미합니다. 이 상태로 평균을 내거나 Cronbach's α(신뢰도)를 계산하면 값이 왜곡됩니다. 그래서 합산·신뢰도·요인분석 전에 역문항의 점수 방향을 맞춰 주어야 합니다.
방법 1. 메뉴로 역코딩하기 (Recode into Different Variables)
클릭으로 처리하려면 다음 순서를 따릅니다.
- 변환(Transform) → 다른 변수로 코딩변경(Recode into Different Variables)
- 역문항을 오른쪽으로 옮기고, 출력 변수 이름에 새 이름(예:
Q3_R)을 적고 바꾸기(Change) - 기존값 및 새로운 값(Old and New Values)에서 1→5, 2→4, 3→3, 4→2, 5→1 을 하나씩 추가 → 계속
- 확인을 누르면 방향이 뒤집힌 새 변수가 생성됩니다
⚠️ 원본을 덮어쓰지 마세요. "같은 변수로 코딩변경"을 쓰면 원자료가 사라집니다. 항상 _R 같은 새 변수로 만드는 것이 안전합니다.
방법 2. 신택스로 한 번에 (RECODE)
문항이 많다면 신택스가 훨씬 빠릅니다. RECODE ... INTO 는 여러 문항을 한 번에 새 변수로 만들어 줍니다.
* 5점 리커트: 역문항 Q3, Q7 을 한 번에 역코딩.
RECODE Q3 Q7 (1=5)(2=4)(3=3)(4=2)(5=1) INTO Q3_R Q7_R.
EXECUTE.
괄호 안의 대응 규칙이 문항마다 그대로 적용되고, INTO 뒤 이름이 순서대로 짝지어집니다.
방법 3. 공식으로 더 간단히 (COMPUTE)
대응 규칙을 일일이 쓰기 번거롭다면 공식 한 줄이 가장 깔끔합니다. k점 척도의 역코딩 공식은 (k + 1) − 원점수 입니다.
* 5점 척도 → 6 - 값 / 4점 척도면 5 - 값 / 7점이면 8 - 값.
COMPUTE Q3_R = 6 - Q3.
COMPUTE Q7_R = 6 - Q7.
EXECUTE.
| 척도 | 공식 | 예: 원점수 2점 → 역코딩 |
|---|---|---|
| 4점 | 5 − 값 | 3점 |
| 5점 | 6 − 값 | 4점 |
| 7점 | 8 − 값 | 6점 |
역코딩 후 평균·합산 만들기
방향을 맞췄으면, 정문항과 역코딩된 변수(_R)를 함께 넣어 척도 점수를 만듭니다.
* 평균: 결측이 있어도 응답한 문항끼리 평균.
COMPUTE 자기효능감 = MEAN(Q1, Q2, Q3_R, Q4).
EXECUTE.
MEAN()은 결측을 제외하고 응답한 문항만 평균 냅니다. 반대로 한 문항이라도 결측이면 제외하고 싶다면 (Q1 + Q2 + Q3_R + Q4) / 4 처럼 사칙연산으로 계산하세요(이 방식은 결측이 하나라도 있으면 결과가 결측이 됩니다).
자주 하는 실수와 확인법
- 역코딩 전 변수를 그대로 합산 — 가장 흔한 실수입니다. 반드시
_R변수를 넣으세요. - 신뢰도가 낮거나 음수로 나옴 — 역문항을 빼먹었다는 신호일 수 있습니다. 신뢰도 분석 Q&A에서 항목 총계 상관이 음수인 문항을 확인하세요.
- 확인 방법 — 역코딩 전 원변수와 역코딩 후 변수의 상관을 보면 완전한 음의 상관(−1)이 나와야 정상입니다.
자주 묻는 질문
리커트 척도 역코딩 공식이 뭔가요?
COMPUTE 새변수 = 6 - 원변수. 로 처리합니다.역코딩을 안 하면 어떻게 되나요?
원래 변수를 덮어써도 되나요?
_R 같은 새 변수로 만들어 원본을 보존하세요.역코딩한 변수는 요인분석에도 그대로 쓰나요?
_R 변수를 사용합니다. 요인분석 Q&A도 참고하세요.