Gerador de codebook
Liste suas variáveis uma por linha — nome, rótulo, tipo, rótulos de valores, códigos de dados ausentes — e obtenha uma tabela de codebook para colar em um README, mais a sintaxe que aplica os mesmos rótulos aos seus dados: VARIABLE LABELS, VALUE LABELS e MISSING VALUES no SPSS, código factor ou haven no R. A ferramenta também confere nomes e rótulos com os limites do SPSS. Gratuito, sem cadastro. Nada do que você digita sai do seu navegador.
Suas variáveis
Campos nesta ordem, separados por | ou por tabulações (cole direto de uma planilha): nome | rótulo | tipo | rótulos de valores | códigos ausentes | observações. Só o nome é obrigatório.
O tipo é scale, ordinal, nominal ou string (digite esses nomes em inglês). Os rótulos de valores são pares código=rótulo separados por ponto e vírgula. Os códigos ausentes são separados por vírgulas; escreva um intervalo como 997 to 999 e use LO ou HI para um limite aberto.
O R básico transforma rótulos de valores em fatores e códigos de ausência definidos pelo usuário em NA. O estilo haven mantém os códigos e os rótulos juntos, como o SPSS faz.
Usado na sintaxe do R. Um nome inválido volta para df.
Codebook
Digite ou cole suas variáveis acima, ou pressione Experimentar um exemplo.
Exportar
Execute com o arquivo de dados aberto: VARIABLE LABELS, VALUE LABELS, MISSING VALUES e VARIABLE LEVEL. Não cria variáveis nem define a largura das strings.
Como usar o gerador de codebook
- 1. Liste suas variáveis. Uma por linha, com os campos separados por barra vertical ou tabulação, para colar direto de uma planilha: nome, rótulo, tipo, rótulos de valores, códigos de dados ausentes, observações. Só o nome é obrigatório.
- 2. Descreva os valores. Escreva os rótulos de valores como pares código=rótulo separados por ponto e vírgula (1=Feminino; 2=Masculino). Escreva os códigos de dados ausentes separados por vírgulas, e um intervalo como 997 to 999. Para o tipo, escolha scale, ordinal, nominal ou string; digite esses nomes em inglês, pois é assim que a ferramenta os reconhece.
- 3. Confira os alertas. A tabela mostra o que foi entendido. “Pontos a conferir” lista pares ignorados, nomes repetidos e tudo o que o SPSS rejeitaria, com o número da linha.
- 4. Exporte. Escolha sintaxe SPSS, sintaxe R, uma tabela Markdown ou CSV, depois copie ou baixe. Para o R, escolha o R básico ou o haven e dê nome ao seu data frame.
Para que serve um codebook
Um codebook é a chave de um conjunto de dados. Uma coluna chamada q7 cheia de 1, 2 e 9 não significa nada para um leitor, nem para você daqui a um ano, até que um documento diga o que q7 pergunta, o que cada número representa e quais números não são respostas. Um codebook registra, para cada variável, seu nome, um rótulo descritivo, seu tipo, os valores rotulados e os códigos de dados ausentes. É a primeira coisa que um colaborador ou revisor procura.
A tabela e o código saem da mesma lista, por isso não podem se desencontrar. A ferramenta não lê um arquivo de dados: você digita as definições, e nenhum valor de dado está envolvido.
Tipos e códigos ausentes
| Tipo | Use para | No SPSS | No R básico |
|---|---|---|---|
| Escala | Quantidades medidas: idade, renda, nota de teste | VARIABLE LEVEL SCALE | as.numeric() |
| Ordinal | Categorias ordenadas: uma escala de concordância de 1 a 5 | VARIABLE LEVEL ORDINAL | fator ordenado |
| Nominal | Categorias sem ordem: gênero, país | VARIABLE LEVEL NOMINAL | fator |
| Texto | Texto: respostas livres, IDs de participantes | Nenhum nível é definido | as.character() |
Uma variável de escala ainda pode ter rótulos de valores, por exemplo um código para “recusou”. O R básico a mantém numérica e não a transforma em fator.
Um código ausente é um número que representa “sem resposta”: -99 para recusa, -98 para não sei, 997 a 999 para vários motivos ao mesmo tempo. Deixados de lado, esses números entram nas suas médias. Declará-los como ausentes definidos pelo usuário diz ao SPSS para deixá-los fora dos cálculos, mantendo os códigos no arquivo. O R não tem essa marcação no básico, então a sintaxe básica converte os códigos para NA; a versão haven os mantém como o SPSS faz.
O que o SPSS aceita
O verificador segue a referência de sintaxe de comandos da IBM. Um nome de variável pode ter até 64 bytes, deve começar com letra ou @, não pode começar nem terminar com ponto, e não pode ser uma das palavras reservadas ALL, AND, BY, EQ, GE, GT, LE, LT, NE, NOT, OR, TO ou WITH. Um nome que começa com # cria uma variável temporária, e um que começa com $ é reservado para variáveis do sistema, por isso a ferramenta rejeita os dois. Rótulos de valores podem ter até 120 bytes. Uma variável numérica pode ter até três valores ausentes discretos, ou um intervalo com um valor discreto extra, como em LO THRU 0, 999. A IBM recomenda manter cada linha de sintaxe em até 256 caracteres; a ferramenta se limita a 251 bytes, um limite com o qual já houve relatos de alerta do SPSS, então um rótulo muito longo é sinalizado antes de falhar. Veja as páginas da IBM sobre nomes de variáveis e VALUE LABELS.
Exemplo prático
“Experimentar um exemplo” carrega cinco variáveis de uma pesquisa: um ID em texto, uma idade numérica, um gênero nominal com quatro valores rotulados, um item ordinal de cinco pontos e uma variável de renda cujos códigos 997 a 999 são ausentes. A saída do SPSS são quatro comandos. VARIABLE LABELS cobre as cinco variáveis, VALUE LABELS cobre gender e o item ordinal, MISSING VALUES cobre quatro (age, gender, o item ordinal e income), e VARIABLE LEVEL cobre as quatro variáveis que não são texto. Este é o comando MISSING VALUES que ela gera:
Exemplo: o comando MISSING VALUES
MISSING VALUES age (-99) /gender (-99) /sat1 (-99, -98) /income (997 THRU 999).
No R, a versão básica recodifica esses códigos para NA e transforma as variáveis rotuladas em fatores, com o item ordinal como fator ordenado. A versão haven chama haven::labelled_spss(), cujos argumentos labels, na_values, na_range e label guardam essas mesmas quatro coisas. A ferramenta escreve cada uma em uma linha, para que você possa apagar as variáveis que não quer.
Limites e cuidados
- Ela não lê seus dados. Confira se cada código que você listou realmente aparece e se nenhum código que você deixou de fora aparece.
- A sintaxe R altera seus dados. A versão básica sobrescreve cada coluna. Trabalhe em uma cópia e confira cada
as.numeric()com o arquivo bruto; um valor que não possa ser lido como número viraNA, com um aviso. - Variáveis string no SPSS. Strings precisam de uma largura quando são criadas, e a sintaxe aqui não cria variáveis. Execute-a com seus dados abertos.
- Mantenha os códigos consistentes. Use os mesmos códigos ausentes em todas as variáveis quando puder, e nunca um código que possa ser uma resposta real.
Perguntas frequentes
- O que é um codebook na pesquisa?
- Um codebook é um documento que explica um conjunto de dados: como se chama cada variável, o que ela mede, como é codificada e quais códigos significam dados ausentes. Alguém que nunca viu os dados deve conseguir ler o codebook e interpretar cada coluna. Às vezes ele é chamado de dicionário de dados.
- O que um codebook deve incluir?
- No mínimo, o nome, o rótulo e o tipo de cada variável, os rótulos de valores das variáveis codificadas e os códigos de dados ausentes. Codebooks de questionários costumam acrescentar a redação exata da pergunta, as opções de resposta, quem foi consultado e notas sobre recodificações ou variáveis derivadas. Esta ferramenta cobre o primeiro grupo e tem uma coluna de observações para o resto.
- Como eu adiciono rótulos de valores e valores ausentes na sintaxe do SPSS?
- Use VALUE LABELS com o nome da variável seguido de pares de código e rótulo, por exemplo VALUE LABELS gender 1 "Female" 2 "Male". Use MISSING VALUES com a variável e seus códigos entre parênteses, por exemplo MISSING VALUES age (-99). Termine cada comando com ponto. A ferramenta escreve os dois, com uma variável por bloco, separados por barras.
- Quantos valores ausentes uma variável do SPSS pode ter?
- Uma variável numérica pode ter até três valores ausentes individuais definidos pelo usuário, ou um intervalo de valores mais um valor discreto adicional. Um intervalo usa THRU, e LO e HI representam o menor e o maior valor. A ferramenta sinaliza uma variável que ultrapasse esse limite.
- Devo usar fatores do R básico ou haven no R?
- Use o R básico se você vai analisar os dados só no R: os fatores carregam os rótulos e NA carrega os códigos ausentes. Use haven se os dados vieram ou vão voltar para SPSS, Stata ou SAS, porque labelled_spss() mantém códigos, rótulos e valores ausentes definidos pelo usuário juntos. A documentação do próprio haven descreve a classe como uma modelagem dos valores ausentes definidos pelo usuário do SPSS.
- Meus dados são enviados?
- Não. Tudo roda no seu navegador, e nada do que você digita é enviado. A ferramenta só precisa das definições das variáveis, não dos valores dos seus dados.