PSPP 강의 0편 — PSPP는 SPSS를 얼마나 대체할 수 있나

TL;DR
SPSS의 .sav 파일과 .sps 신택스는 GNU PSPP에서 그대로 열리고 그대로 돌아간다. 반대 방향도 된다. 빈도·교차표·t-검정·분산분석·상관·회귀·로지스틱·신뢰도·요인분석·비모수 검정은 PSPP가 인쇄하는 소수 자리까지 SPSS와 같은 값을 낸다. 반복측정 GLM, 혼합모형, 편상관, 다항·순서형 로지스틱, 생존분석, 판별분석, Chart Builder 그래프, Python·R 연동은 PSPP에 없고 “not yet implemented”라고 정직하게 말한다. 학부 통계, 설문 분석, 논문의 기초 분석이면 PSPP로 충분하다.

“SPSS 대신 PSPP 써도 되나요?”라는 질문에 대한 답은 대개 “기초 통계는 됩니다” 정도로 끝난다. 어디까지가 기초인지, 결과 숫자가 정말 같은지, 막히면 어떤 식으로 막히는지를 실제 출력으로 보여주는 한국어 자료는 드물다. 그래서 직접 해봤다. 가상의 설문 데이터 하나와 신택스 파일 15개를 만들어 GNU PSPP 2.1.1과 IBM SPSS Statistics 32 체험판에서 똑같이 돌리고, 결과를 표로 대조했다.

이 글은 그 결론을 먼저 말하는 총론이다. 이어지는 아홉 편에서 설치부터 스크립트 자동화까지 실제 사용법을 절차별로 다룬다. 모든 신택스, 데이터, 양쪽 출력은 저장소에 있고, 이 시리즈가 가리키는 상태는 태그 v1.0이다.

PSPP가 뭔가

GNU PSPP는 SPSS의 자유 소프트웨어 대체품을 목표로 1990년대 후반부터 개발돼 온 통계 패키지다. GNU 프로젝트의 일부이고 라이선스는 GPL이다. SPSS 신택스 문법을 그대로 따르고, .sav 파일을 읽고 쓴다. 케이스 수나 변수 수 제한이 없고, 체험 기간이라는 것도 없다. GUI(PSPPIRE)는 SPSS 데이터 편집기와 거의 같은 모양이라 SPSS를 써 봤으면 설명 없이 쓸 수 있다.

검증 환경

PSPP SPSS
버전 GNU PSPP 2.1.1 (Flatpak) IBM SPSS Statistics 32.0.0.0 체험판
OS Linux Mint 22.2 Windows 11 Pro
실행 방식 pspp -b 배치 GUI 신택스 편집기
실행일 2026-09-18 2026-09-19

우분투 24.04의 apt 패키지는 2.0.0인데, 같은 신택스를 2.0.0에서 돌려도 2.1.1과 텍스트 출력이 바이트 단위로 같았다.

예제 데이터는 어느 회사가 사내 교육 프로그램을 실시하고 실험군과 대조군의 전후 평가 점수, 만족도 5문항, 재수강 의향을 조사했다는 시나리오의 가상 데이터 200명이다. 실험군 점수 향상분 약 +8, 연봉은 나이·학력·부서의 함수, 만족도는 단일 요인 구조가 되도록 일부러 효과를 심었다. 2편에서 이 데이터를 만들고 레이블을 붙인다.

되는 것 — 숫자가 같다

기초부터 중급까지의 절차는 PSPP와 SPSS의 값이 같다. PSPP는 대부분 소수 둘째 자리까지만 인쇄하므로 “같다”는 PSPP가 인쇄하는 자리까지 같다는 뜻이다. 대표값만 추리면 이렇다.

절차 통계량 PSPP 2.1.1 SPSS 32 다루는 편
교차표 Pearson χ² (df=1) 11.55, p=.001 11.546, p<.001 3편
독립표본 t t (df=198) -8.96, p=.000 -8.959, p<.001 4편
일원분산분석 F (2, 197) 22.47 22.470 4편
회귀 R² / age의 B .67 / 44.22 .668 / 44.219 5편
로지스틱 Exp(B) sat_mean 1.74 1.743 5편
신뢰도 Cronbach α .79 .792 6편
요인분석 요인 1 설명 % 54.6% 54.589% 6편
Mann-Whitney Z -7.71 -7.713 6편
단변량 GLM 부서 F 20.71 20.707 7편
ROC AUC .68 .680 7편

데이터 관리 명령(SELECT IF, FILTER, WEIGHT, SPLIT FILE, AGGREGATE, MATCH FILES)과 매크로(!DO, !IF, !CONCAT까지)도 전부 된다. “PSPP는 매크로가 안 된다”는 옛 정보다.

값이 어긋난 곳은 네 군데뿐이고 모두 결론을 바꾸지 않는다.

  • Mann-Whitney 순위합이 1.5 차이 난다. 동점 처리 방식 차이로 보이며 Z와 p는 같다.
  • Wilcoxon 대응 검정에서 차이의 방향 표기가 반대다. 부호를 뒤집어 읽으면 된다.
  • ROC 95% 신뢰구간이 PSPP .62~.74, SPSS .607~.754로 다르다. AUC와 표준오차는 같다.
  • 가중치를 건 빈도를 PSPP는 151.50처럼 그대로, SPSS는 152로 반올림해 보여 준다.

안 되는 것 — 오류가 명확하다

같은 데이터로 SPSS에서 흔히 쓰는 고급 절차를 던져 봤다. PSPP의 답은 단호하다.

error: GLM: Multivariate analysis is not yet implemented.
error: MIXED: MIXED is not yet implemented.
error: GGRAPH: GGRAPH is not yet implemented.
error: PARTIAL CORR: PARTIAL CORR is not yet implemented.

다항·순서형 로지스틱, 일반화 선형모형, 생존분석, 판별분석, 계층적 군집, 복합표본, 시계열, Python·R 연동도 없다. SPSS 32에서는 이 모든 것이 정상 실행됐다. 무엇이 어떻게 막히는지, 그리고 반복측정 설계 같은 것을 PSPP로 우회하는 법은 8편에서 다룬다.

기능 비교표

O는 검증 완료, △는 부분 지원, X는 미지원이다. 44개 항목 전부가 담긴 원본은 저장소의 docs/02_기능_비교표.csv에 있다.

분류 절차 PSPP 2.1.1 비고
파일 .sav 읽기/쓰기, CSV 읽기, INSERT O 양방향 호환, 한글 레이블 보존
데이터 레이블, COMPUTE/RECODE, SELECT IF/FILTER/WEIGHT, SPLIT FILE, AGGREGATE/MATCH FILES O AGGREGATE는 정렬 필수 (7편)
기술통계 FREQUENCIES, DESCRIPTIVES, EXAMINE, CROSSTABS O
평균비교 독립·대응·일표본 t, ONEWAY+사후검정, 단변량 GLM O
평균비교 반복측정 GLM, MANOVA, MIXED X not yet implemented
상관·회귀 CORRELATIONS, REGRESSION, LOGISTIC REGRESSION O
상관·회귀 PARTIAL CORR, NOMREG/PLUM, GENLIN X
척도 RELIABILITY, FACTOR, QUICK CLUSTER, ROC O 계층적 CLUSTER는 X
비모수 NPAR TESTS O 순위합 1.5 차이
고급 생존분석, 시계열, 복합표본, 판별분석 X
자동화 매크로 O !DO/!IF/!CONCAT 확인
자동화 Python/R 연동 X
자동화 배치 실행 O SPSS 데스크톱은 불가 (9편)
그래프 GRAPH 히스토그램·산점도·막대 꾸미기 불가
그래프 GGRAPH/GPL (Chart Builder) X
출력 txt/html/csv/pdf/odt 등 10종 O 피벗 편집은 X
라이선스 케이스·변수 제한, 만료 없음 SPSS 체험판 14일

어떻게 고를까

  1. 파일과 신택스 호환은 실질적으로 완전하다. SPSS에서 만든 자산이 PSPP에서 그대로 열리고 돌아가며, 반대도 된다.
  2. 기초부터 중급까지는 숫자가 같다. 위 표의 절차라면 PSPP 결과를 그대로 써도 된다.
  3. 갈리는 지점은 정확도가 아니라 절차의 존재 여부다. 필요한 절차가 X 칸에 있으면 PSPP로는 안 된다.
  4. 배치 실행은 PSPP가 낫다. 라이선스 없이, 만료 없이, GUI 없이 돌아간다. SPSS 데스크톱 체험판에는 배치 실행기가 없다.

그래서 이렇게 고르면 된다.

  • 수업, 설문 분석, 논문의 기초 분석: PSPP. 돈이 안 들고 결과가 같다.
  • 반복측정, 혼합모형, 구조방정식: R(lme4, lavaan)이나 jamovi·JASP, 아니면 SPSS.
  • 예쁜 그래프: 어차피 SPSS도 아니다. ggplot2나 matplotlib.
  • SPSS 라이선스가 이미 있고 클릭으로 끝내고 싶다: 그냥 SPSS.

시리즈 목차

제목 내용
0 총론 (이 글) 결론과 비교표
1 설치와 첫 화면 리눅스·윈도우·맥 설치, PSPPIRE 창 구성, 로케일 함정
2 데이터 불러오기와 레이블 CSV 읽기, 변수·값 레이블, .sav 저장과 양방향 호환
3 기술통계와 교차표 FREQUENCIES, DESCRIPTIVES, EXAMINE, CROSSTABS
4 t-검정과 분산분석 T-TEST 세 종류, ONEWAY와 사후검정
5 상관, 회귀, 로지스틱 CORRELATIONS, REGRESSION, LOGISTIC REGRESSION
6 신뢰도, 요인분석, 비모수 RELIABILITY, FACTOR, NPAR TESTS
7 데이터 관리와 매크로 케이스 선택·가중·분할·집계, DEFINE 매크로
8 안 되는 것과 우회로 미지원 절차의 오류 메시지와 대안
9 스크립트로 돌리기와 자동화 배치 모드, 출력 형식, 실행 스크립트

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.