코드북 생성기
변수를 한 줄에 하나씩, 이름, 라벨, 유형, 값 라벨, 결측 코드 순서로 입력하세요. README에 붙여넣을 수 있는 코드북 표와, 같은 라벨을 데이터에 적용하는 구문을 얻을 수 있습니다. SPSS에는 VARIABLE LABELS, VALUE LABELS, MISSING VALUES를, R에는 factor 또는 haven 코드를 만들어 줍니다. 또한 이름과 라벨이 SPSS 제한을 넘는지 확인합니다. 무료이며 회원가입이 필요 없습니다. 입력한 내용은 브라우저 밖으로 나가지 않습니다.
변수 목록
이 순서대로 필드를 입력하고, | 또는 탭으로 구분하세요(스프레드시트에서 바로 붙여넣을 수 있습니다): name | label | type | value labels | missing codes | notes. 이름만 필수입니다.
type은 scale, ordinal, nominal 또는 string입니다. 값 라벨은 세미콜론으로 구분한 code=label 쌍입니다. 결측 코드는 쉼표로 구분하며, 범위는 997 to 999처럼 쓰고, 열린 끝에는 LO 또는 HI를 씁니다.
기본 R은 값 라벨을 팩터로, 사용자 결측 코드를 NA로 바꿉니다. haven 방식은 SPSS처럼 코드와 라벨을 함께 유지합니다.
R 구문에 쓰입니다. 잘못된 이름이면 df로 대체됩니다.
코드북
위에 변수를 입력하거나 붙여넣으세요. 또는 예시 사용해 보기를 누르세요.
내보내기
데이터 파일을 연 상태에서 실행하세요: VARIABLE LABELS, VALUE LABELS, MISSING VALUES, VARIABLE LEVEL. 변수를 새로 만들거나 문자열 너비를 설정하지는 않습니다.
코드북 생성기 사용 방법
- 1. 변수를 나열하세요. 한 줄에 하나씩 적고, 필드는 파이프(|)나 탭으로 구분하세요. 스프레드시트에서 바로 붙여넣을 수 있습니다. 순서는 이름, 라벨, 유형, 값 라벨, 결측 코드, 메모입니다. 이름만 필수입니다.
- 2. 값을 설명하세요. 값 라벨은 code=label 쌍을 세미콜론으로 구분해 씁니다(1=여성; 2=남성). 결측 코드는 쉼표로 구분하고, 범위는 997 to 999처럼 씁니다. 유형은 scale, ordinal, nominal, string 중에서 고르세요.
- 3. 확인 사항을 읽으세요. 표에는 계산기가 이해한 내용이 나타납니다. “확인할 사항”에는 건너뛴 항목, 중복된 이름, SPSS가 거부할 내용이 줄 번호와 함께 나옵니다.
- 4. 내보내세요. SPSS 구문, R 구문, 마크다운 표 또는 CSV를 고른 뒤 복사하거나 다운로드하세요. R에서는 기본 R 또는 haven 방식을 고르고 데이터 프레임 이름을 지정하세요.
코드북의 용도
코드북은 데이터셋의 열쇠입니다. q7이라는 열에 1, 2, 9가 가득 들어 있어도, 문서가 q7이 무엇을 묻는지, 각 숫자가 무엇을 뜻하는지, 어떤 숫자가 실제 응답이 아닌지 알려 주기 전까지는 독자에게도, 1년 뒤의 여러분에게도 아무 의미가 없습니다. 코드북은 변수마다 이름, 설명 라벨, 유형, 라벨이 붙은 값, 결측 데이터 코드를 기록합니다. 공동 연구자나 심사자가 가장 먼저 찾는 문서입니다.
표와 코드는 같은 목록에서 만들어지므로 서로 어긋날 수 없습니다. 이 도구는 데이터 파일을 읽지 않습니다. 정의를 직접 입력하며, 데이터 값은 관여하지 않습니다.
유형과 결측 코드
| 유형 | 용도 | SPSS에서 | 기본 R에서 |
|---|---|---|---|
| 척도 | 측정한 양: 나이, 소득, 시험 점수 | VARIABLE LEVEL SCALE | as.numeric() |
| 순서형 | 순서가 있는 범주: 1–5 동의 척도 | VARIABLE LEVEL ORDINAL | ordered factor |
| 명목형 | 순서가 없는 범주: 성별, 국가 | VARIABLE LEVEL NOMINAL | factor |
| 문자열 | 텍스트: 자유 응답, 참가자 ID | 수준을 설정하지 않음 | as.character() |
척도 변수에도 값 라벨을 붙일 수 있습니다. 예를 들어 “응답 거부”를 뜻하는 코드가 있을 수 있습니다. 기본 R은 이 변수를 숫자로 유지하며 팩터로 바꾸지 않습니다.
결측 코드는 “응답 없음”을 뜻하는 숫자입니다. 응답 거부는 -99, 모름은 -98, 여러 이유를 한꺼번에 나타내는 경우는 997에서 999까지입니다. 그대로 두면 이 숫자들이 평균에 섞입니다. 사용자 결측으로 선언하면 SPSS는 계산에서 제외하면서 파일에는 코드를 남겨 둡니다. R의 기본 기능에는 이런 표시가 없으므로, 기본 구문은 코드를 NA로 바꾸고 haven 버전은 SPSS처럼 코드를 그대로 유지합니다.
SPSS가 허용하는 범위
이 검사기는 IBM의 명령 구문 참조서를 따릅니다. 변수 이름은 최대 64바이트이며, 문자 또는 @로 시작해야 하고, 마침표로 시작하거나 끝날 수 없으며, 예약어 ALL, AND, BY, EQ, GE, GT, LE, LT, NE, NOT, OR, TO, WITH 중 하나일 수 없습니다. #으로 시작하는 이름은 임시 변수를 만들고, $로 시작하는 이름은 시스템 변수용이므로 도구가 둘 다 거부합니다. 값 라벨은 최대 120바이트입니다. 숫자 변수는 개별 결측값을 최대 세 개까지, 또는 범위 하나와 개별 값 하나를 가질 수 있습니다(예: LO THRU 0, 999). IBM은 구문의 각 줄을 256자 이내로 유지하라고 안내합니다. 이 도구는 251바이트를 기준으로 삼는데, 그 한도를 넘으면 SPSS가 경고한다는 보고가 있었기 때문입니다. 따라서 너무 긴 라벨은 실패하기 전에 표시됩니다. IBM 문서의 변수 이름 및 VALUE LABELS 페이지를 참고하세요.
실제 예시
“예시 사용해 보기”를 누르면 설문 변수 다섯 개가 불러와집니다. 텍스트형 ID, 숫자형 나이, 값 라벨이 네 개인 명목형 성별, 5점 순서형 문항, 그리고 997에서 999가 결측인 소득 변수입니다. SPSS 출력은 네 개의 명령입니다. VARIABLE LABELS는 다섯 개 변수 모두를, VALUE LABELS는 성별과 순서형 문항을, MISSING VALUES는 네 개(나이, 성별, 순서형 문항, 소득)를, VARIABLE LEVEL은 텍스트가 아닌 네 개 변수를 다룹니다. 도구가 작성하는 MISSING VALUES 명령은 다음과 같습니다.
예시: MISSING VALUES 명령
MISSING VALUES age (-99) /gender (-99) /sat1 (-99, -98) /income (997 THRU 999).
R의 기본 버전은 이 결측 코드를 NA로 바꾸고, 라벨이 붙은 변수를 팩터로, 순서형 문항을 순서형 팩터로 만듭니다. haven 버전은 haven::labelled_spss()를 호출하며, 그 인수 labels, na_values, na_range, label이 같은 네 가지 정보를 담습니다. 도구는 각 항목을 한 줄로 씁니다. 필요 없는 변수는 그 줄을 지우면 됩니다.
한계와 주의 사항
- 데이터를 읽지 않습니다. 입력한 모든 코드가 실제로 나타나는지, 빠뜨린 코드가 없는지 직접 확인하세요.
- R 구문은 데이터를 바꿉니다. 기본 버전은 각 열을 덮어씁니다. 복사본에서 작업하고, 모든
as.numeric()을 원본 파일과 대조하세요. 숫자로 읽을 수 없는 값은 경고와 함께NA가 됩니다. - SPSS 문자열 변수. 문자열은 만들 때 너비가 필요하며, 여기 구문은 변수를 만들지 않습니다. 데이터를 연 상태에서 실행하세요.
- 코드를 일관되게 유지하세요. 가능하면 여러 변수에서 같은 결측 코드를 쓰고, 실제 응답이 될 수 있는 코드를 결측 코드로 쓰지 마세요.
자주 묻는 질문
- 연구에서 코드북이란 무엇인가요?
- 코드북은 데이터셋을 설명하는 문서입니다. 각 변수의 이름, 측정하는 내용, 코드를 부여한 방식, 그리고 어떤 코드가 결측을 뜻하는지 적습니다. 데이터를 본 적 없는 사람도 코드북을 읽고 모든 열을 해석할 수 있어야 합니다. 데이터 사전(data dictionary)이라고도 부릅니다.
- 코드북에는 무엇이 들어가야 하나요?
- 최소한 각 변수의 이름, 라벨, 유형, 코드가 붙은 변수의 값 라벨, 그리고 결측 데이터 코드가 있어야 합니다. 설문 코드북에는 흔히 정확한 질문 문구, 응답 선택지, 응답 대상, 재코딩이나 파생 변수에 대한 메모가 더해집니다. 이 도구는 첫 번째 묶음을 다루며, 나머지를 위한 메모 열이 있습니다.
- SPSS 구문으로 값 라벨과 결측값을 어떻게 추가하나요?
- 값 라벨은 VALUE LABELS 다음에 변수 이름과 코드-라벨 쌍을 쓰면 됩니다. 예: VALUE LABELS gender 1 "Female" 2 "Male". 결측값은 MISSING VALUES 다음에 변수 이름과 괄호 안의 코드를 씁니다. 예: MISSING VALUES age (-99). 각 명령은 마침표로 끝납니다. 도구는 두 가지를 모두 쓰며, 변수마다 한 블록씩 만들고 슬래시로 구분합니다.
- SPSS 변수에는 결측값을 몇 개까지 지정할 수 있나요?
- 숫자 변수는 개별 사용자 결측값을 최대 세 개까지, 또는 범위 하나와 개별 값 하나를 가질 수 있습니다. 범위에는 THRU를 쓰며, LO와 HI는 가장 낮은 값과 가장 높은 값을 뜻합니다. 도구는 이 한도를 넘는 변수를 표시합니다.
- R에서는 기본 팩터를 써야 하나요, 아니면 haven을 써야 하나요?
- 분석을 R에서만 한다면 기본 R을 쓰세요. 팩터가 라벨을 담고, NA가 결측 코드를 담습니다. 데이터가 SPSS, Stata 또는 SAS에서 왔거나 그곳으로 돌아갈 예정이라면 haven을 쓰세요. labelled_spss()가 코드, 라벨, 사용자 결측값을 함께 보존하기 때문입니다. haven 문서는 이 클래스가 SPSS의 사용자 정의 결측을 모델링한다고 설명합니다.
- 내 데이터가 업로드되나요?
- 아니요. 모든 처리는 브라우저에서 이루어지며, 입력한 내용은 업로드되지 않습니다. 이 도구는 데이터 값이 아니라 변수 정의만 필요로 합니다.