이 강의에서 할 일
- 변수 계산(Compute Variable)으로 새 변수를 만든다.
- 역문항을 역코딩하고 문항 평균을 계산한다.
- 글자 변수(성별)를 숫자 코드로 바꾼다.
- 케이스 선택(Select Cases)으로 조건에 맞는 사례만 분석한다.
시작하기 전에
- 데이터 불러오기와 변수 설정(2강)
- 2강과 같은 실습 데이터(가상 200명)를 열어 둡니다.
계산 변수 만들기
여러 문항의 평균처럼, 기존 변수로 새 변수를 계산해 만들 수 있습니다. 원자료는 그대로 두고 새 열이 데이터 편집기(Data Editor)의 맨 오른쪽에 추가됩니다.
- 1변환 > 변수 계산(Transform > Compute Variable)을 엽니다.변수 계산 창이 열립니다. 왼쪽 위의 목표변수(Target Variable)에 새 변수의 이름을, 오른쪽 위의 숫자표현식(Numeric Expression)에 계산식을 적습니다.


- 2새 변수 이름과 계산식을 입력합니다.예를 들어 문항1과 문항2의 평균이면 목표변수에 문항12평균, 숫자표현식에
MEAN(문항1, 문항2)를 적습니다. 가운데 함수 그룹(Function group) 목록에서 함수를 골라 넣을 수도 있습니다.
- 3확인(OK)을 누르고 새 열을 확인합니다.데이터 보기(Data View) 맨 오른쪽에 새 변수가 생기고 값이 채워졌는지 확인합니다. 몇 사례는 직접 계산해서 맞는지 대조합니다.

화면은 SPSS 32 한국어판 기준이며, 창 이름과 함수 이름은 버전에 따라 다를 수 있습니다.
역코딩
"나는 자주 우울하다"처럼 문항 방향이 반대인 경우, 점수를 뒤집어 같은 방향으로 맞춥니다. 척도가 1~5점이면 새 점수는 6 − 원점수입니다. 일반식은 (최솟값 + 최댓값) − 원점수입니다. 실습 데이터에서는 문항3이 반대 방향 문항입니다.
- 1변환 > 변수 계산을 엽니다.목표변수에 문항3_R, 숫자표현식에
6 - 문항3을 입력하고 확인을 누릅니다. 원래 변수를 덮어쓰지 않고 새 변수로 만들어 두면 나중에 비교할 수 있습니다.
- 2원점수와 새 점수를 비교합니다.원점수 1은 5로, 5는 1로, 3은 3으로 바뀌었는지 확인합니다.

- 3역코딩한 문항으로 평균을 계산합니다.변수 계산을 다시 열어 목표변수에 문항평균, 숫자표현식에
MEAN(문항1, 문항2, 문항3_R, 문항4, 문항5)를 입력합니다. 역코딩 전의 문항3이 아니라 문항3_R을 넣어야 합니다.
결측이 있을 때
MEAN은 응답이 있는 문항만으로 평균을 냅니다. 최소 몇 개 이상 응답한 사람만 계산하려면 점 뒤에 개수를 붙여 MEAN.4(문항1, 문항2, 문항3_R, 문항4, 문항5)처럼 씁니다(4개 이상 응답한 경우에만 계산). 이 실습 데이터에는 결측이 없습니다.
변수 계산 창 아래쪽의 조건…(If…)을 누르면 조건이 맞는 사례에만 계산할 수도 있습니다.
글자 변수를 숫자 코드로 바꾸기
2강에서 성별은 글자(남/여)로 읽혔습니다. 글자 변수는 일부 분석에서 바로 쓸 수 없어서, 숫자 코드(1=남, 2=여)로 바꿔 새 변수에 담습니다.
- 1변환 > 다른 변수로 코딩변경(Transform > Recode into Different Variables)을 엽니다.왼쪽 목록에서 성별을 가운데 칸으로 옮깁니다. 오른쪽 출력변수(Output Variable)의 이름(Name)에 성별코드, 레이블(Label)에 성별(1=남, 2=여)을 적고 바꾸기(Change)를 누릅니다.

- 2기존값 및 새로운 값(Old and New Values)을 눌러 값을 짝지어 줍니다.왼쪽 기존값(Old Value)의 값(Value)에 남, 오른쪽 새로운 값(New Value)의 값에 1을 적고 추가(Add)를 누릅니다. 여 → 2도 같은 방식으로 추가한 뒤 계속(Continue), 확인을 누릅니다. 이때 글자 변수를 숫자로 바꾸려면 "출력변수가 문자임(Output variables are strings)" 체크를 해제해 둡니다.

- 3변수 보기(Variable View)에서 값(Values)과 측도(Measure)를 설정합니다.성별코드의 값에 1=남, 2=여를 추가하고 측도를 명목형(Nominal)으로 지정합니다(2강 참고).

글자를 값 목록 순서대로 숫자로 바꿔 주는 변환 > 자동 코딩변경(Transform > Automatic Recode)도 있습니다. 코드 번호를 직접 정하고 싶으면 위의 방법을 씁니다.
조건에 맞는 사례만 고르기
특정 학년처럼 조건에 맞는 사례만 분석하고 싶을 때는 케이스 선택을 씁니다. 기본 설정(Filtered)에서는 데이터를 지우지 않고 분석에서만 제외합니다.
- 1데이터 > 케이스 선택(Data > Select Cases)을 엽니다.선택 항목에서 조건을 만족하는 케이스 선택(If condition is satisfied)을 고르고 조건…을 누릅니다.

- 2조건식을 입력합니다.예를 들어 2학년 사례만 남기려면
학년 = 2로 적고 계속을 누릅니다. 아래 출력 항목은 선택되지 않은 케이스 필터링(Filtered)을 고릅니다.
- 3확인을 누르고 제외된 사례를 확인합니다.데이터 보기에서 제외된 사례의 행 번호에 빗금이 표시되고, filter_$ 변수가 새로 생깁니다. 이후 분석은 선택된 사례에만 적용됩니다.

- 4분석을 마치면 필터를 끕니다.데이터 > 케이스 선택을 다시 열어 모든 케이스(All cases)를 고르고 확인을 누릅니다. 끄지 않으면 이후 분석에도 계속 같은 조건이 적용됩니다.

명령어(Syntax)로 보기
각 창에서 확인 대신 붙여넣기(Paste)를 누르면 방금 한 작업이 아래와 같은 명령어로 구문 편집기(Syntax Editor)에 적혀 나옵니다. 같은 작업을 다시 하거나 기록으로 남길 때 쓸 수 있습니다.
COMPUTE 문항3_R = 6 - 문항3.
COMPUTE 문항평균 = MEAN(문항1, 문항2, 문항3_R, 문항4, 문항5).
RECODE 성별 ('남'=1) ('여'=2) INTO 성별코드.
EXECUTE.명령어는 작성 시점에 SPSS에서 붙여넣기로 생성한 것과 대조해 확정합니다. 한글 변수 이름은 버전과 설정에 따라 다르게 처리될 수 있습니다.
점검 목록
- 새 변수를 만든 뒤 몇 사례를 직접 계산해 값이 맞는지 확인했다.
- 역코딩은 새 변수로 만들었고, 평균 계산에는 역코딩한 변수를 넣었다.
- 성별코드에 값과 측도를 설정했다.
- 케이스 선택을 쓴 뒤 모든 케이스로 되돌렸다.
- 변경한 데이터를 새 이름의 .sav로 저장했다(원본은 따로 보관).