설문 결측치, 어떻게 처리하고 논문에는 뭐라고 쓰나요?
발행 2026-09-08
설문 결측치가 무엇인가요?
결측치(missing value)는 응답자가 답하지 않았거나 답을 쓸 수 없어서 값이 비어 있는 칸이에요. 데이터에는 두 가지 모습으로 들어 있어요. 응답자가 건너뛰어 그대로 비어 있는 빈칸, 그리고 데이터를 입력하는 사람이 무응답·해당 없음을 표시하려고 정해 둔 결측 코드(999·888·99·-9 등)예요.
결측 코드는 사람이 약속한 숫자예요. 종이 설문을 입력하면서 무응답 칸에 999를 적었거나, 패널 조사 같은 공개 데이터셋의 코드북이 「-9 = 무응답」으로 정해 둔 경우예요. 통계 프로그램은 이 약속을 모르기 때문에, 알려주지 않으면 999를 나이나 점수와 똑같은 숫자로 계산해요.
| 모습 | 어떻게 생기나요 | 통계 프로그램은 어떻게 읽나요 | 할 일 |
|---|---|---|---|
| 빈칸 | 응답자가 건너뛴 문항이 온라인 설문에서 빈칸으로 내보내지거나, 종이 설문을 입력할 때 그 칸을 비워 둔 경우 | 대부분 자동으로 결측으로 읽어요 | 처리 방법만 정하면 돼요 |
| 결측 코드 | 입력하는 사람이 무응답·해당 없음·모름을 구분하려고 정한 숫자(999·888·99·-9 등). 공개 데이터셋의 코드북 규칙도 같아요 | 약속을 모르니 숫자로 계산해요 | 분석 전에 결측으로 바꿔요 |
같은 데이터가 두 모습으로 어떻게 보이는지 샘플 데이터의 수면시간으로 보면 다음과 같아요. 응답자 #8과 #19가 수면시간에 답하지 않았어요. 가운데는 빈칸으로 둔 모습이고, 오른쪽은 입력하는 사람이 무응답을 999로 적은 모습이에요.
| 응답 | 수면시간 (빈칸) | 수면시간 (999로 코딩) |
|---|---|---|
| #6 | 7.1 | 7.1 |
| #7 | 8.1 | 8.1 |
| #8 | 999 | |
| #9 | 7.2 | 7.2 |
| … | … | … |
| #18 | 6.5 | 6.5 |
| #19 | 999 | |
| #20 | 5.5 | 5.5 |
결측 코드를 그대로 두고, 통계분석을 돌리면 어떻게 되나요?
999가 숫자로 계산돼요. 위의 수면시간 데이터를 가지고 평균과 표준편차를 계산하면 다음과 같아요.
| 계산 조건 | N | M | SD | 최댓값 |
|---|---|---|---|---|
| 빈칸을 결측으로 읽음 | 178 | 6.96 | 1.19 | 9.8 |
| 999를 숫자로 계산 | 180 | 17.98 | 104.29 | 999 |
응답자 두 명의 999가 하루 평균 수면시간을 6.96시간에서 17.98시간으로 바꿔 놓고, 표준편차는 1.19에서 104.29로 커져요. 이 상태로 상관이나 t검정을 돌리면 두 명의 999가 나머지 178명의 결과까지 바꿔 놓아요. 그래서 결측 처리의 첫 단계는 데이터에 결측 코드가 있는지 확인하고 결측으로 바꾸는 일이에요. 어떤 값이 코드인지는 입력 규칙이나 코드북에서 확인하고, 없으면 응답 범위를 한참 벗어난 값(1~5점 척도의 9, 수면시간의 999)을 찾아요.
결측치는 어떻게 처리하나요?
설문 연구에서 흔히 쓰는 처리 방법은 세 가지예요. 어느 것을 골라도 원자료는 그대로 두고, 분석에 쓰는 값만 달라져요.
| 방법 | 무엇을 하나요 | 장점 | 주의할 점 |
|---|---|---|---|
| 제외 (완전 제거, listwise deletion) | 결측이 있는 응답자를 그 분석에서 빼요 | 가장 단순하고 흔한 기본값이에요. 결측이 적고 무작위로 흩어져 있으면 결과가 치우치지 않아요 | 표본 수 N이 줄어요. 결측이 많거나 특정 집단에 몰려 있으면 남은 표본이 전체를 대표하지 못해요 |
| 평균 대치 (mean imputation) | 빈칸을 그 변수의 평균으로 채워요 | 표본 수를 유지해요 | 채운 값이 전부 평균이라 표준편차가 작아지고 다른 변수와의 상관이 약해져요. 결측이 적을 때만 보수적으로 써요 |
| 그대로 두기 (쌍별 제거, pairwise deletion) | 빈칸을 그대로 두고, 그 변수를 쓰는 계산에서만 빼요 | 결측이 없는 다른 계산에는 그 응답자가 남아 표본이 덜 줄어요 | 계산마다 N이 달라져요. 상관표에는 쌍마다의 N 범위를 적어야 해요 |
제외와 그대로 두기는 무엇이 다른가요?
차이는 다른 변수의 결측 때문에 이 응답자가 빠지느냐에 있어요. 제외는 응답자를 표본에서 빼는 결정이라, 그 응답자는 그 분석의 모든 계산에서 빠져요. 그대로 두기는 칸 하나를 비워 두는 결정이라, 그 변수가 들어가는 계산에서만 빠지고 나머지 계산에는 남아요.
| 변수 쌍 | 그대로 두기(쌍별 제거) | 제외(완전 제거) |
|---|---|---|
| 수면시간 × 나이 | 176 | 173 |
| 수면시간 × 월소득 | 175 | 173 |
| 나이 × 월소득 | 175 | 173 |
세 변수의 결측은 서로 다른 응답자 7명에게 흩어져 있어요(수면시간 2, 나이 2, 월소득 3). 제외를 고르면 7명이 모두 빠져 어느 쌍이든 173명으로 같고, 그대로 두기를 고르면 쌍마다 175~176명이에요. 상관표 한 장 안에서 N이 다르면 표 아래에 「N = 175~176(쌍별 결측 제외)」처럼 범위를 적어요.
- 표 하나에 N을 하나로 보고하고 싶고 결측이 적으면 제외가 단순해요. t검정·회귀분석은 어차피 쓰는 변수에 결측이 있는 응답자를 빼고 계산하기 때문에(완전 제거) 두 방법의 결과가 같고, 상관분석에서만 갈려요.
- 표본이 작고 결측이 여러 변수에 흩어져 있으면 그대로 두기가 표본을 덜 잃어요. 대신 상관표의 N이 쌍마다 달라지니 각주에 범위를 적어요.
- 평균 대치는 결측이 아주 적고 표본 수를 꼭 유지해야 할 때만 골라요. 결측이 많을 때 평균으로 채우면 없는 정보를 있는 것처럼 만들어 표준편차와 상관이 실제보다 작아져요.
척도 문항에 결측이 있으면 어떻게 하나요?
리커트 척도는 문항 여러 개를 합쳐 점수 하나를 만들기 때문에, 문항 하나가 비어 있다고 응답자를 빼면 표본을 너무 많이 잃어요. 그래서 척도 점수는 답한 문항만의 평균으로 계산하는 게 일반적인 관례예요(SPSS의 MEAN 함수가 같은 방식이에요). 신뢰도 계수 Cronbach's α는 모든 문항에 답한 응답자로만 계산해요.
샘플 데이터의 삶의 만족도 척도(5문항)에서는 응답자 #4가 1번 문항을 비워 두었어요. 응답자 #7의 3번 문항은 1~5점 범위 밖의 값(7)이라 리커트 문항 확인에서 결측으로 처리한 상태예요. 두 사람 모두 나머지 4문항의 평균으로 점수를 받아요(#4는 4.00, #7은 4.25). 그래서 척도 점수는 180명 모두에게 있고, α는 5문항에 모두 답한 178명으로 계산돼요.
| 항목 | N | 규칙 |
|---|---|---|
| 척도 점수 (M = 3.37, SD = 0.98) | 180 | 답한 문항의 평균 |
| Cronbach's α = .88 | 178 | 5문항 모두 응답한 사례(완전 제거) |
논문 방법 부분에는 뭐라고 쓰나요?
네 가지를 순서대로 적으면 돼요. 결측이 5% 미만이면 두세 문장이면 충분해요.
- 무엇을 결측으로 보았는지. 무응답에 더해 결측 코드(999 등)를 결측으로 처리했다면 그 사실을 적어요. 이상치를 결측으로 처리한 경우도 여기에 함께 적어요.
- 얼마나 있었는지. 전체 응답자 중 결측이 있는 응답자 수와 비율, 결측이 가장 많은 변수의 건수를 적어요.
- 어떻게 처리했는지와 이유. 제외·평균 대치·그대로 두기(쌍별 제거) 중 무엇을 썼는지, 척도 점수는 어떤 규칙으로 계산했는지 적어요. 결측이 적고 무작위로 흩어져 있어 제외했다는 식으로 이유를 한 구절 붙이면 좋아요.
- 최종 표본 수. 분석마다 실제로 계산에 들어간 N을 결과 표에 적어요. 쌍별 제거를 썼으면 N의 범위를 표 각주에 적어요.
아래 「논문에 쓰는 문장」은 샘플 데이터의 숫자로 이 네 가지를 쓴 예예요. 변수 이름과 숫자만 바꿔 쓰면 돼요.
논문에 쓰는 문장
방법
전체 응답자 180명 중 9명(5.0%)에게 문항 1개씩의 무응답이 있었다. 무응답이 있는 응답자는 해당 변수를 사용하는 분석에서 제외하였다(listwise deletion).
자료 입력 시 무응답은 999로 코딩하였으며, 분석 전에 이를 결측으로 처리하였다.
삶의 만족도 척도 점수는 응답한 문항의 평균으로 산출하였으며, 신뢰도 계수는 모든 문항에 응답한 178명을 대상으로 계산하였다.
결과
수면시간의 평균은 6.96시간(SD = 1.19, N = 178)이었다.
상관분석은 변수 쌍마다 결측을 제외하여 실시하였으며, 표본 수는 175~176명이었다.
자주 묻는 질문
결측이 몇 % 이하면 괜찮나요?+
흔히 쓰는 기준은 5%예요. 결측이 전체의 5% 이하이고 특정 문항·집단에 몰려 있지 않으면 어떤 방법을 써도 결과 차이가 작다고 봐요(Tabachnick & Fidell, 2019; Schafer, 1999). 10%를 넘으면 결과가 치우칠 수 있어(Bennett, 2001) 결측이 왜 생겼는지 살피고, 논문에 비율과 처리 방법을 분명히 적어요.
종이 설문을 직접 입력할 때 무응답은 빈칸으로 두나요, 999로 적나요?+
둘 다 써요. 빈칸이 가장 단순해요. 통계 프로그램이 바로 결측으로 읽고 따로 바꿀 게 없어요. 무응답과 「해당 없음」을 구분해야 하면 코드를 쓰되, 응답 범위와 겹치지 않는 값(1~5점 척도에 9, 시간에 999)으로 정하고 어떤 코드가 무엇을 뜻하는지 적어 두세요. 분석 전에는 반드시 결측으로 바꿔요.
평균 대치 대신 다중 대치(multiple imputation)를 써야 하나요?+
결측이 많거나(대략 10% 이상) 무작위가 아닐 때 권장되는 방법이에요(Enders, 2010; Little & Rubin, 2019). 결측이 5% 안팎이면 제외로 충분한 경우가 많아요. 연구친구는 다중 대치를 제공하지 않아요. 필요하면 R의 mice 같은 별도 도구를 써야 해요.
성별·전공 같은 범주형 변수의 결측은 어떻게 하나요?+
평균이 정의되지 않아 평균 대치를 쓸 수 없어요. 가장 많은 범주로 채우는 최빈값 대치도 권하지 않아요. 한 범주가 실제보다 커져 분포가 달라져요(Allison, 2001). 제외하거나 그대로 두고, 그 변수를 쓰는 분석에서만 빠지게 해요.
연구친구에서는
데이터를 올리면 결측이 있는 변수를 찾아 보여드려요. 처리 방법만 고르면 나머지는 계산돼요.
- 결측이 있는 변수와 위치를 자동으로 찾아 목록으로 보여드려요.
- 「제외」·「평균값으로 채우기」·「그대로 두기」를 고르면 어느 응답이 어떻게 바뀌는지 전체 응답 표에 바로 색으로 보여요.
- 표본 수가 180명에서 몇 명으로 줄어드는지 고를 때마다 다시 계산돼요.
- 무엇을 어떻게 처리했는지 논문 방법 부분에 옮길 문장으로 결과 화면에 정리돼요.
참고 자료
- Little, R. J. A., & Rubin, D. B. (2019). Statistical analysis with missing data (3rd ed.). Wiley. · 완전 제거·쌍별 제거·대치법의 성질과 결측 유형(MCAR·MAR·MNAR)
- Enders, C. K. (2010). Applied missing data analysis. Guilford Press. · 평균 대치가 표준편차와 상관을 과소추정하는 이유
- Tabachnick, B. G., & Fidell, L. S. (2019). Using multivariate statistics (7th ed.). Pearson. · 결측 5% 이하이면 처리 방법 간 차이가 작다는 관례
- Schafer, J. L. (1999). Multiple imputation: A primer. Statistical Methods in Medical Research, 8(1), 3–15. · 결측 5% 이하 관례
- Bennett, D. A. (2001). How can I deal with missing data in my study? Australian and New Zealand Journal of Public Health, 25(5), 464–469. · 결측 10% 초과 시 결과가 치우칠 가능성
- Allison, P. D. (2001). Missing data. Sage. · 최빈값·평균 대치의 한계
- American Psychological Association. (2020). Publication manual of the American Psychological Association (7th ed.). · 통계 표기(M, SD, N) 관례