목차
설문조사가 끝나고
드디어 원데이터를 받았습니다.
파일을 열어보니 바로 손보고 싶은 부분이 보입니다.
빈칸도 있고,
기타 응답은 제각각이고,
분석에 필요 없는 열도 있습니다.
“이건 지워도 되겠는데?”
“변수명부터 보기 좋게 바꿔놓을까?”
“이상한 응답은 그냥 삭제하면 되나?”
하나씩 정리하다 보면
어느 순간 처음 받았던 데이터가 어떻게 생겼는지 알기 어려워질 수 있습니다.
특히 정제 과정에서 실수가 발견되거나
제외 기준을 다시 적용해야 한다면 문제가 됩니다.
그래서 설문 데이터는 처음부터
원본과 정제본을 분리해서 관리하는 것이 좋습니다.

1. 원데이터는 가능하면 그대로 보관하는 것이 좋습니다
설문조사에서 말하는 원데이터는
조사가 끝난 뒤 처음 확보한 상태의 자료라고 생각하면 쉽습니다.
이 파일에는 분석에 필요하지 않은 정보가 있을 수도 있고,
결측이나 불성실 응답처럼 나중에 확인해야 할 데이터도 포함되어 있을 수 있습니다.
그래서 처음 파일을 열면
바로 정리하고 싶어집니다.
하지만 원본 파일에서 직접
행을 삭제하고,
값을 바꾸고,
변수를 재코딩하기 시작하면
나중에 문제가 생겼을 때
처음 상태로 돌아가기 어려워집니다.
예를 들어 17번 응답자를 제외했는데
나중에 다시 확인해보니 제외 대상이 아니었다면 어떨까요?
원본에서 행 자체를 삭제했다면
해당 응답을 다시 복원하기 어려울 수 있습니다.
따라서 처음 받은 원데이터는
가급적 수정하지 않고 별도로 보관해두는 것이 안전합니다.

2. 분석에 필요한 수정은 ‘정제본’에서 진행합니다
원본을 보관한다고 해서
데이터를 전혀 수정하면 안 된다는 의미는 아닙니다.
실제 통계분석을 위해서는
여러 가지 정리 과정이 필요할 수 있습니다.
예를 들어
✔ 연구 대상 조건에 맞지 않는 응답 제외
✔ 중복·불성실 응답 확인
✔ 결측값 처리
✔ 역문항 코딩
✔ 범주형 변수 재코딩
✔ 분석에 필요한 새로운 변수 생성
등이 있습니다.
이런 작업은 원본 파일을 복사한 뒤
별도의 정제본에서 진행하는 것이 좋습니다.
예를 들어 파일을
survey_raw
survey_clean
처럼 구분해두는 방식입니다.
이렇게 해두면 분석에는 정제된 데이터를 사용하면서도
필요할 때 언제든 처음 수집된 값과 비교할 수 있습니다.

3. ‘오타처럼 보이는 값’도 바로 고치기 전에 확인해보세요
원데이터를 보다 보면
명백한 오류처럼 보이는 값이 발견될 수도 있습니다.
예를 들어 연령을 입력하는 문항에서
22
24
25
243
27
처럼 값이 들어왔다고 해보겠습니다.
243은 누가 봐도 이상해 보입니다.
그렇다고 바로
“24살을 잘못 입력했겠지.”
라고 판단해서 24로 바꾸는 것은 조심해야 합니다.
실제로 24를 잘못 입력한 것인지,
23을 잘못 입력한 것인지 데이터만으로는 알 수 없기 때문입니다.
이런 경우에는 조사 방식과 확인 가능한 정보가 있는지를 먼저 살펴보고,
원래 값을 확인할 방법이 없다면 임의로 새로운 값을 만들어내지 않는 것이 좋습니다.
필요에 따라 결측으로 처리하거나 분석에서 제외하는 등
미리 정한 기준에 따라 판단할 수 있습니다.
이상해 보인다는 이유와 실제 값이 무엇인지 안다는 것은 다른 문제입니다.

4. 응답자를 제외했다면 이유도 남겨두는 것이 좋습니다
데이터 검수 과정에서는
일부 응답을 분석에서 제외해야 하는 경우가 있습니다.
문제는 며칠 뒤입니다.
처음에는
“이 사람은 응답시간이 너무 짧아서 제외.”
라고 기억하고 있었지만,
응답자가 수십 명씩 제외되기 시작하면
누구를 왜 제외했는지 헷갈릴 수 있습니다.
그래서 행을 바로 삭제해버리기보다
정제 과정에서 별도의 변수를 만들어 기록하는 방법도 사용할 수 있습니다.
예를 들어
use = 1 → 분석 포함use = 0 → 분석 제외
처럼 표시하고,
필요하다면 제외 사유를 별도 열에 기록하는 방식입니다.
이렇게 하면 최종 분석 대상자를 구분하면서도
제외된 원자료 자체는 확인할 수 있습니다.
특히 제외 기준이 여러 개라면
누가 어떤 이유로 제외되었는지 기록을 남겨두는 것이 이후 검수에 도움이 됩니다.

5. 재코딩할 때는 기존 변수를 남겨두는 방법도 있습니다
역문항 처리나 변수 재분류를 할 때도 마찬가지입니다.
예를 들어 원래 Q5 문항이 1~5점으로 입력되어 있고
역코딩이 필요하다고 해보겠습니다.
기존 Q5 값 자체를 바꾸는 방법도 있지만,
Q5_R
처럼 새로운 변수를 만들어
역코딩된 값을 별도로 저장하는 방법도 있습니다.
연령도 마찬가지입니다.
원래 나이 변수 age를 그대로 두고,
20대 = 1
30대 = 2
40대 = 3
처럼 묶은 변수는
age_group
등으로 새롭게 만들 수 있습니다.
이렇게 하면
“이 변수가 원래 응답값이었나?”
“내가 재코딩한 값이었나?”
를 구분하기 쉬워집니다.
특히 데이터 수정이 여러 차례 반복되는 연구라면
원래 변수와 가공된 변수를 구분해두는 습관이 도움이 됩니다.

6. 정제본도 버전이 너무 많아지지 않게 관리해보세요
원본과 정제본을 나눴는데
이번에는 파일이 너무 많아지는 문제가 생길 수도 있습니다.
최종.xlsx
진짜최종.xlsx
최종수정.xlsx
최종수정2.xlsx
교수님피드백최종.xlsx
논문을 오래 작업하다 보면
익숙한 상황입니다.
파일이 많아질수록
정작 어떤 데이터로 최종 분석을 했는지 찾기 어려워질 수 있습니다.
그래서 파일명에는 날짜나 버전을 넣는 방법이 좋습니다.
예를 들어
survey_raw_20260912
survey_clean_v01_20260912
survey_clean_v02_20260915
처럼 관리할 수 있습니다.
그리고 가능하다면 별도의 기록에
‘v01: 중복 응답 제외’
‘v02: 역문항 처리 및 연령대 재코딩’
처럼 변경 내용을 간단하게 남겨두는 것도 좋습니다.
파일을 많이 만드는 것보다
각 파일이 어떤 상태인지 구분할 수 있게 만드는 것이 더 중요합니다.

7. 정제 과정을 설명할 수 있는 상태로 남겨두세요
데이터 정리는 분석 전에 한 번 하고 끝나는 작업처럼 보이지만
논문을 수정하면서 다시 확인해야 할 가능성이 있습니다.
“최종 분석 대상자가 왜 287명이었지?”
“처음에는 300명이 아니었나?”
“이 변수는 어떤 기준으로 다시 묶었지?”
이런 질문이 생겼을 때
기억만으로 답하려고 하면 생각보다 어렵습니다.
그래서 데이터 정제 과정에서는
최종 파일만 남기는 것보다 300명이 어떻게 287명이 되었는지 추적할 수 있는 상태를 만들어두는 것이 좋습니다.
어떤 기준으로 응답을 제외했고,
어떤 변수를 변경했고,
결측값은 어떻게 처리했고,
어떤 변수를 새롭게 만들었는지 기록해두는 것입니다.
코딩표(Codebook)나 간단한 데이터 정제 기록을 함께 만들어두면
나중에 분석 방법을 정리하거나 결과를 다시 확인할 때도 도움이 됩니다.

✔ 마무리
설문 원데이터는
분석하기 편한 형태로 만들어진 완성본이 아닙니다.
따라서 정제와 가공 자체는 필요한 과정입니다.
다만 중요한 것은
원래 수집된 값과 연구자가 이후에 손댄 값을 구분할 수 있어야 한다는 것입니다.
원본은 그대로 보관하고,
복사한 정제본에서 수정하고,
제외·재코딩·변수 생성 같은 작업은
가능하면 기준과 변경 내용을 남겨두는 것이 좋습니다.
당장은 파일을 하나 더 만드는 일이 번거롭게 느껴질 수 있습니다.
하지만 분석을 다시 해야 하거나
몇 달 뒤 데이터를 다시 확인해야 할 때는
처음 상태로 돌아갈 수 있는 원본이 있다는 것만으로도 작업이 훨씬 수월해집니다.

📌 정리
설문 원데이터는 수정하면 안 되는 ‘성역’이라기보다
처음 수집된 상태를 보존해야 하는 기준점에 가깝습니다.
✔ 처음 받은 원데이터는 별도로 보관하기
✔ 실제 수정과 분석은 복사한 정제본에서 진행하기
✔ 이상한 값을 임의로 추측해서 고치지 않기
✔ 응답자를 제외했다면 대상과 이유를 기록하기
✔ 역코딩·재분류 시 원래 변수와 가공 변수를 구분하기
✔ 정제본에는 날짜나 버전을 표시하기
✔ 어떤 과정을 거쳐 최종 분석 데이터가 만들어졌는지 기록하기
데이터를 깨끗하게 만드는 것만큼 중요한 것은
어떻게 깨끗하게 만들었는지를 나중에도 확인할 수 있게 남겨두는 것입니다.
원본과 정제본을 처음부터 분리해두면
데이터를 잘못 수정했을 때 돌아갈 곳이 생기고, 이후 논문 수정이나 재분석에서도 같은 기준을 다시 확인하기 쉬워집니다.
