Codeboekgenerator
Zet je variabelen per regel — naam, label, type, waardelabels, codes voor ontbrekende waarden — en krijg een codeboektabel die je in een README kunt plakken, plus syntaxis die dezelfde labels op je data toepast: VARIABLE LABELS, VALUE LABELS en MISSING VALUES voor SPSS, factor- of haven-code voor R. De tool controleert ook namen en labels aan de hand van de limieten van SPSS. Gratis, zonder registratie. Wat je typt, verlaat je browser niet.
Jouw variabelen
Velden in deze volgorde, gescheiden door | of door tabs (plak rechtstreeks uit een spreadsheet): name | label | type | value labels | missing codes | notes. Een kopregel gebruikt deze Engelse namen, of je laat hem weg. Alleen de naam is verplicht.
Het type is scale, ordinal, nominal of string. Waardelabels zijn code=label-paren gescheiden door puntkomma's. Codes voor ontbrekende waarden worden gescheiden door komma's; schrijf een bereik als 997 to 999, en gebruik LO of HI voor een open einde.
Base R zet waardelabels om in factoren en codes voor gebruikersmissing in NA. De haven-stijl houdt de codes en labels samen, zoals SPSS dat doet.
Wordt in de R-syntaxis gebruikt. Een ongeldige naam valt terug op df.
Codeboek
Typ of plak hierboven je variabelen, of klik op Probeer een voorbeeld.
Exporteren
Voer het uit met je databestand open: VARIABLE LABELS, VALUE LABELS, MISSING VALUES en VARIABLE LEVEL. Het maakt geen variabelen aan en stelt geen stringbreedtes in.
Zo gebruik je de codeboekgenerator
- 1. Zet je variabelen op een rij. Eén per regel, met de velden gescheiden door een verticale streep of een tab, zodat je rechtstreeks uit een spreadsheet kunt plakken: naam, label, type, waardelabels, codes voor ontbrekende waarden, opmerkingen. Alleen de naam is verplicht.
- 2. Beschrijf de waarden. Schrijf waardelabels als code=label-paren gescheiden door puntkomma's (1=Vrouw; 2=Man). Schrijf codes voor ontbrekende waarden gescheiden door komma's, en een bereik als 997 to 999. Kies scale, ordinal, nominal of string als type.
- 3. Lees de controles. De tabel laat zien wat er is begrepen. “Om te controleren” somt overgeslagen paren, dubbele namen en alles op wat SPSS zou afwijzen, met het regelnummer.
- 4. Exporteer. Kies SPSS-syntaxis, R-syntaxis, een Markdown-tabel of CSV, en kopieer of download. Voor R kies je base R of haven en geef je je dataframe een naam.
Waarvoor een codeboek dient
Een codeboek is de sleutel tot een dataset. Een kolom die q7 heet en vol 1-en, 2-en en 9-en staat, betekent niets voor een lezer, of voor jou over een jaar, tot een document zegt wat q7 vraagt, wat elk getal betekent en welke getallen helemaal geen antwoord zijn. Een codeboek legt voor elke variabele vast: haar naam, een beschrijvend label, haar type, de gelabelde waarden en de codes voor ontbrekende data. Het is het eerste wat een medeauteur of reviewer zoekt.
De tabel en de code komen uit dezelfde lijst, dus ze kunnen niet uit elkaar lopen. De tool leest geen databestand: jij typt de definities, en er komen geen datawaarden bij kijken.
Typen en codes voor ontbrekende waarden
| Type | Gebruik voor | In SPSS | In base R |
|---|---|---|---|
| Schaal | Gemeten grootheden: leeftijd, inkomen, testscore | VARIABLE LEVEL SCALE | as.numeric() |
| Ordinaal | Geordende categorieën: een instemmingsschaal van 1 tot 5 | VARIABLE LEVEL ORDINAL | geordende factor |
| Nominaal | Ongeordende categorieën: geslacht, land | VARIABLE LEVEL NOMINAL | factor |
| String | Tekst: vrije antwoorden, deelnemers-ID's | Geen niveau ingesteld | as.character() |
Een schaalvariabele kan nog steeds waardelabels hebben, bijvoorbeeld een code voor “geweigerd”. Base R houdt haar numeriek en maakt er geen factor van.
Een code voor ontbrekende waarden is een getal dat voor “geen antwoord” staat: -99 voor geweigerd, -98 voor weet niet, 997 tot en met 999 voor meerdere redenen tegelijk. Laat je ze staan, dan gaan die getallen mee in je gemiddelden. Als je ze als user-missing aangeeft, laat SPSS ze weg bij berekeningen terwijl de codes in het bestand blijven. Base R kent zo'n vlag niet; de base-syntaxis zet de codes daarom om in NA, en de haven-versie houdt ze zoals SPSS dat doet.
Wat SPSS toestaat
De controle volgt de commandosyntaxisgids van IBM. Een variabelenaam mag tot 64 bytes lang zijn, moet beginnen met een letter of @, mag niet beginnen of eindigen met een punt, en mag geen van de gereserveerde woorden ALL, AND, BY, EQ, GE, GT, LE, LT, NE, NOT, OR, TO of WITH zijn. Een naam die begint met # maakt een tijdelijke variabele, en een naam die begint met $ is gereserveerd voor systeemvariabelen; de tool weigert beide. Waardelabels mogen tot 120 bytes zijn. Een numerieke variabele kan tot drie afzonderlijke missing values hebben, of één bereik plus één afzonderlijke waarde, zoals LO THRU 0, 999. IBM adviseert elke syntaxisregel binnen 256 tekens te houden; de tool houdt het op 251 bytes, een grens waarbij mensen hebben gemeld dat SPSS waarschuwt, dus een erg lang label wordt gemarkeerd voordat het faalt. Zie de pagina's van IBM over variabelenamen en VALUE LABELS.
Uitgewerkt voorbeeld
“Probeer een voorbeeld” laadt vijf enquêtevariabelen: een tekst-ID, een numerieke leeftijd, een nominaal geslacht met vier gelabelde waarden, een ordinaal vijfpuntsitem en een inkomensvariabele waarvan de codes 997 tot en met 999 als ontbrekend gelden. De SPSS-uitvoer bestaat uit vier commando's. VARIABLE LABELS dekt alle vijf variabelen, VALUE LABELS dekt geslacht en het ordinale item, MISSING VALUES dekt er vier (leeftijd, geslacht, het ordinale item en inkomen), en VARIABLE LEVEL dekt de vier niet-tekstvariabelen. Dit is het MISSING VALUES-commando dat het schrijft:
Voorbeeld: het MISSING VALUES-commando
MISSING VALUES age (-99) /gender (-99) /sat1 (-99, -98) /income (997 THRU 999).
In R zet de base-versie die codes om naar NA en maakt ze van de gelabelde variabelen factoren, met het ordinale item als geordende factor. De haven-versie roept haven::labelled_spss() aan, waarvan de argumenten labels, na_values, na_range en label dezelfde vier dingen bevatten. De tool schrijft elk als één regel, zodat je de variabelen die je niet wilt, kunt weglaten.
Beperkingen en aandachtspunten
- Het leest je data niet. Controleer dat elke code die je opgeeft echt voorkomt, en dat er geen code voorkomt die je niet hebt opgegeven.
- R-syntaxis verandert je data. De base-versie overschrijft elke kolom. Werk op een kopie en controleer elke
as.numeric()tegen het ruwe bestand; een waarde die niet als getal te lezen is, wordtNA, met een waarschuwing. - SPSS-tekenreeksvariabelen. Strings hebben een breedte nodig wanneer ze worden aangemaakt, en de syntaxis hier maakt geen variabelen aan. Voer hem uit met je data geopend.
- Houd de codes consistent. Gebruik waar mogelijk dezelfde codes voor ontbrekende waarden over variabelen heen, en nooit een code die een echt antwoord zou kunnen zijn.
Veelgestelde vragen
- Wat is een codeboek in onderzoek?
- Een codeboek is een document dat een dataset uitlegt: hoe elke variabele heet, wat ze meet, hoe ze gecodeerd is en welke codes ontbrekende data betekenen. Iemand die de data nooit heeft gezien, moet het codeboek kunnen lezen en elke kolom kunnen interpreteren. Het wordt soms een datawoordenboek genoemd.
- Wat hoort er in een codeboek?
- Minimaal de naam, het label en het type van elke variabele, de waardelabels voor gecodeerde variabelen en de codes voor ontbrekende data. Enquêtecodeboeken voegen vaak de exacte vraagformulering, de antwoordopties, wie is ondervraagd en notities over hercoderingen of afgeleide variabelen toe. Deze tool dekt de eerste groep en heeft een kolom opmerkingen voor de rest.
- Hoe voeg ik waardelabels en missing values toe in SPSS-syntaxis?
- Gebruik VALUE LABELS met een variabelenaam gevolgd door code-labelparen, bijvoorbeeld VALUE LABELS gender 1 "Female" 2 "Male". Gebruik MISSING VALUES met de variabele en haar codes tussen haakjes, bijvoorbeeld MISSING VALUES age (-99). Sluit elk commando af met een punt. De tool schrijft beide, met één variabele per blok, gescheiden door slashes.
- Hoeveel missing values kan een SPSS-variabele hebben?
- Een numerieke variabele kan tot drie afzonderlijke user-missing waarden hebben, of één bereik plus één extra afzonderlijke waarde. Een bereik gebruikt THRU, en LO en HI staan voor de laagste en de hoogste waarde. De tool markeert een variabele die dit overschrijdt.
- Moet ik in R base-factoren of haven gebruiken?
- Gebruik base R als je de data alleen in R analyseert: factoren dragen de labels en NA draagt de codes voor ontbrekende waarden. Gebruik haven als de data uit SPSS, Stata of SAS komt of ernaar terugkeert, omdat labelled_spss() codes, labels en user-missing waarden samen bewaart. De documentatie van haven zelf beschrijft de klasse als een model van de user-defined missings van SPSS.
- Wordt mijn data geüpload?
- Nee. Alles draait in je browser en wat je typt, wordt niet geüpload. De tool heeft alleen variabeledefinities nodig, geen datawaarden.