PSPP로 SPSS 대신하기

SPSS 대신 무료 통계 프로그램 GNU PSPP를 써도 되는지, 같은 데이터와 같은 신택스를 PSPP와 SPSS 양쪽에서 돌려 확인한 기록입니다. 전 10편이고, 0편에 결론이 있으니 결론만 필요하시면 거기서 끝내셔도 됩니다. 나머지 아홉 편은 설치부터 자동화까지 실제 사용법입니다.

SPSS를 수업이나 연구에서 써 봤고 라이선스 비용이 부담인 분, 리눅스에서 통계를 스크립트로 돌리고 싶은 분을 생각하며 썼습니다. 통계 자체를 가르치지는 않습니다. “이 절차를 PSPP에서 어떻게 돌리고, 출력을 어디서 읽고, SPSS와 같은 값이 나오는가”까지만 다룹니다. 모든 신택스와 데이터, 양쪽 출력은 저장소에 있습니다.


결론부터


1부. 준비 (1~2편)

설치하고, 화면에 익숙해지고, 시리즈 내내 쓸 예제 데이터를 만듭니다.

  • 1편. 설치와 첫 화면 — 리눅스·윈도우·맥 설치, PSPPIRE의 창 네 종류와 메뉴 구조, 처음 쓰는 사람이 반드시 겪는 함정 두 가지.
  • 2편. 데이터 불러오기, 레이블, .sav 저장 — CSV를 읽어 한글 레이블을 붙이고 .sav로 저장합니다. PSPP가 쓴 파일을 SPSS가, SPSS가 쓴 파일을 PSPP가 그대로 여는 것을 확인합니다.

2부. 분석 절차 (3~6편)

네 편이 같은 틀을 반복합니다. 메뉴로 하기, 신택스로 하기, 출력 읽기, 그리고 SPSS와 값 대조. 어느 편부터 봐도 됩니다.

  • 3편. 기술통계와 교차표 — 빈도표, 기술통계량, 상자그림, 교차표와 카이제곱 검정. 파이·Cramer’s V까지 SPSS와 같은 값입니다.
  • 4편. t-검정과 분산분석 — 독립·대응·일표본 t-검정, 일원분산분석과 Tukey 사후검정. 넓은 표가 텍스트 출력에서 잘리는 이유와 해결법.
  • 5편. 상관, 회귀, 로지스틱 — 상관행렬, 다중회귀, 이항 로지스틱 회귀. 회귀가 데이터에 심어 둔 설계값을 되찾아 내는 것을 봅니다.
  • 6편. 신뢰도, 요인분석, 비모수 — Cronbach α, 주성분 분석, Mann-Whitney·Kruskal-Wallis·Wilcoxon. 시리즈에서 PSPP와 SPSS의 값이 처음으로 어긋나는 지점(순위합 1.5)이 여기 있습니다.

3부. 그 너머 (7~9편)

분석 앞뒤의 일, PSPP가 못 하는 일, 그리고 PSPP가 SPSS보다 잘하는 일.

  • 7편. 데이터 관리와 매크로 — 케이스 선택·가중·분할·집계·병합, DEFINE 매크로, 단변량 GLM·군집·ROC. 오류 없이 틀린 값을 내는 AGGREGATE 함정을 실제 출력으로 보여 줍니다.
  • 8편. 안 되는 것과 우회로 — 반복측정 GLM, 혼합모형, 편상관, Chart Builder, 그리고 SPSS 전용 절차 열두 가지를 일부러 던져 본 결과. 오류가 두 종류로 갈리는 이유와, 차이 점수 t-검정·회귀 잔차로 우회하는 법.
  • 9편. 스크립트로 돌리기와 자동화 — 배치 모드, 출력 형식 열 가지, 신택스 15개를 한 번에 돌리는 스크립트, pspp-convert. SPSS 데스크톱에는 배치 실행기가 없다는 것도 여기서 확인합니다.

이 시리즈에서 남는 것

  • 기초부터 중급까지의 절차는 PSPP와 SPSS의 숫자가 같다는 것. 어긋난 곳은 네 군데뿐이고 결론을 바꾸지 않습니다.
  • 갈리는 지점은 정확도가 아니라 절차의 존재 여부라는 것. 없는 것은 “not yet implemented”라고 정직하게 말합니다.
  • 신택스가 텍스트라서 실행도 검산도 자동화할 수 있다는 것. 이 시리즈의 PSPP 출력은 전부 GUI 없이 만들었습니다.

검증 환경은 GNU PSPP 2.1.1(리눅스)과 IBM SPSS Statistics 32 체험판(윈도우)입니다. 새 버전이 나오면 같은 스크립트로 다시 돌려 이 페이지의 결론을 갱신하겠습니다.