UNIVERSITY VOCABULARY · DOCUMENT ABSENCE PRECISELY
The useful answer in sixty seconds
A blank cell is not one meaning. It may mean a value was not collected, the field was not applicable, a participant did not answer, a measurement failed, a value is not yet derived, or content was redacted for access. A dataset README should define each state, show its code, describe when it occurs, and explain how it differs from zero, false, unknown and an empty string.
Choose a reading route: 1. Get the immediate answer · 2. Diagnose dangerous blanks · 3. Build the README · 4. Work through dataset dossiers · 5. Audit and transfer
You are here because a dataset can look tidy while its missing values tell incompatible stories. The quickest repair is to create a missingness dictionary before analysis: one row for each code, one exact meaning, one trigger rule, one example, one warning and one contact or decision owner. Never make a reader infer meaning from punctuation alone.
This is university vocabulary because research increasingly requires precise language around data collection, processing, access and reuse. It is not a claim that all disciplines use identical codes or repositories. Follow the standards, ethics approvals, data-protection rules and repository guidance that apply to the actual project. The examples below are invented and contain no participant data.
1. The three distinctions that prevent the worst errors
1. Not collected is about the collection event
The instrument, protocol or system did not obtain the value. Perhaps the question was omitted in an earlier survey wave, a sensor was not installed, or a fieldworker could not reach the site. The README should name the scope: which records, dates, versions or groups were affected. “Missing” alone hides that history.
Boundary check: Do not convert not collected to zero. Zero says a quantity was observed and had magnitude zero; not collected says no such observation exists in the dataset.
2. Not applicable is about the logic of the field
The field has no valid meaning for that record under the declared design. A question about a second dose may be not applicable to a participant who never received a first dose. A departure date may be not applicable to an enrolment that remains active.
Boundary check: Document the rule that makes the field inapplicable. Otherwise analysts may mistake structural absence for non-response.
3. Redacted is about access, not original existence
A value may exist in a protected source but be removed or coarsened from the shared release to reduce disclosure risk, honour consent or comply with governance. Redacted does not mean the value was never collected, false or analytically irrelevant.
Boundary check: State who performed the redaction, at what release stage, under which general policy or agreement, and whether an approved access route exists. Do not reveal the protected value in the README.
4. Unknown is not a universal spare code
Unknown can mean that the state of the world is genuinely unknown, that the respondent selected “do not know”, or that provenance has been lost. Those meanings are different. If the project uses unknown, define which one it represents and avoid using it whenever the pipeline is merely inconvenient to diagnose.
Boundary check: Prefer a narrower code when the cause is known: instrument failure, not asked, declined, pending derivation or redacted.
5. Declined to answer is an observed response event
The research team presented a question and the participant chose not to provide the requested value. That is different from skipping the question through routing, ending the interview early, or never presenting the item.
Boundary check: Preserve the distinction when ethically and operationally appropriate. It may matter for interpreting response patterns.
6. Instrument failure is a process state
A sensor, file, import or recording process failed. The real-world quantity may have existed, but the measurement did not enter the dataset reliably. The README should name the affected device, period or batch without overstating the cause.
Boundary check: If a value was reconstructed later, retain provenance: original failure, recovery method, version and uncertainty.
7. Pending is temporal
The value is expected but not yet available at the stated dataset version. Pending should not remain forever. A README needs a release date, expected update path or rule for converting unresolved pending values to another documented state.
Boundary check: An analyst using a frozen release must know that pending is not a promise of future completeness.
8. Not derived separates source data from analysis products
A derived variable may be blank because prerequisites are missing, an algorithm was not run, an exclusion rule applied or the measure is undefined. These are not interchangeable.
Boundary check: Document the derivation formula, required inputs, software or version, and the rule that produced the missing derived value.
9. Zero, false and empty text are values
Zero may be a legitimate count; false may be a legitimate Boolean; an empty string may be a deliberately recorded text response or a software artefact. Analysis software may also coerce these values in surprising ways.
Boundary check: The README and data dictionary should define type, allowable range and missing codes separately.
10. A code without a definition is not documentation
Values such as -9, 999, NA, N/A, NULL and a dot can be conventional in one system and dangerous in another. “Commonly understood” is not enough because software, disciplines and teams differ.
Boundary check: List the literal stored token, display label, semantic meaning and valid columns.
11. One code should not carry three meanings
Combining not collected, not applicable and redacted into -99 destroys information and can create false denominators. Later analysts cannot recover the distinction from the single code.
Boundary check: If an inherited dataset already collapses states, say so explicitly and do not pretend the original meanings can be reconstructed without evidence.
12. Column-level and record-level absence differ
A variable may be absent from an entire survey wave, while an individual cell is absent because one respondent declined. The README should document both the schema-level change and the cell-level code.
Boundary check: Version tables and variable availability matrices are useful for this distinction.
13. Redaction can change granularity rather than create blanks
A precise date may become month-only; a location may be generalised; a rare category may be combined. The shared value is not missing in the ordinary sense, but it has been transformed for access.
Boundary check: Document coarsening and aggregation separately from cell redaction.
14. Provenance belongs beside meaning
A definition tells what a code means. Provenance tells how it arrived. Two identical NA tokens may come from different pipelines. A useful README names source files, transformations, responsible roles and release versions.
Boundary check: Avoid naming individuals unnecessarily; role-based provenance is often enough for public documentation.
15. A README cannot replace every specialist file
The README is an orientation layer. A full codebook, data dictionary, methods paper, consent documentation, repository record or controlled-access agreement may carry deeper detail.
Boundary check: Link the files and state which one is authoritative for each question.
16. Documentation should survive the original team
A future reader should not need to ask the person who happened to clean the spreadsheet. Terms, codes and decisions should be written where the dataset travels.
Boundary check: Test the README with a colleague who did not build the dataset and ask them to interpret five deliberately chosen missing cells.
2. Diagnose the data-language failure before choosing a code
1. The blank has no recorded cause
Do not guess from neighbouring cells. Trace the collection instrument, routing logic, import log and release process. If the cause truly cannot be recovered, document that provenance is unknown rather than choosing a more reassuring label.
For diagnosis 1, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
2. The code means different things in different columns
Create a column-by-code matrix. A dot may mean not applicable in one variable and instrument failure in another. Prefer globally stable meanings or state the scope visibly.
For diagnosis 2, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
3. The same meaning has several codes
Normalise only after preserving the raw values and mapping table. Multiple spellings such as NA, N/A and n.a. may reflect several source systems or simple inconsistency; the distinction must be investigated before conversion.
For diagnosis 3, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
4. Software converted codes silently
Spreadsheet imports and statistical packages may parse NA-like strings, dates or leading zeros automatically. Record software versions, import options and validation checks. Preserve an untouched source copy.
For diagnosis 4, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
5. The denominator changes by missingness state
Not applicable records often belong outside a question-specific denominator, while non-response may remain relevant to reporting response rates. The analytic choice depends on the research question and design.
Never let a generic drop-missing command decide the conceptual denominator without review.
6. Redacted records are being treated as negative cases
A withheld value is not evidence that the attribute is absent. Replace the binary interpretation with a documented access state and evaluate how redaction affects analysis.
For diagnosis 6, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
7. A derived score hides unavailable components
A total score may be absent because one required item is missing, because a threshold of completed items was not reached, or because a formula is undefined. Document the scoring rule and which missingness states trigger each outcome.
For diagnosis 7, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
8. A public release differs from the analytic file
The team may analyse a controlled file and publish a de-identified release. The README must identify the release described and warn against assuming identical row counts, precision or fields.
For diagnosis 8, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
9. The collection instrument changed
A variable may be not collected before version 2 and required after version 3. Document instrument versions and effective dates. Do not present the column as uniformly available.
For diagnosis 9, preserve the raw state, define the narrower meaning in a mapping row, and compare counts before and after the repair. Record which interpretation changed and why; do not overwrite the source file.
10. The project uses free text for reasons
Free-text explanations can contain sensitive information and inconsistent vocabulary. Develop a controlled code set while retaining protected raw text only where governance permits.
The public README should describe the coding process without exposing protected content.
3. Build a README that carries meaning with the dataset
- Identity: dataset title, release identifier, date, creators or responsible team and contact route.
- Scope: population or objects, collection period, geography, unit of observation and exclusions.
- Files: filename, format, role, relationships, encoding and row/column expectations.
- Methods: collection, processing, quality checks and versioned transformations.
- Variables: point to the authoritative data dictionary and define units and allowable values.
- Missingness dictionary: literal code, meaning, trigger, scope, examples and analysis warning.
- Access transformations: redaction, coarsening, aggregation, pseudonymisation or removed fields.
- Known limitations: coverage gaps, instrument changes, unresolved anomalies and non-comparability.
- Reuse: licence, citation, ethics and consent boundaries, access conditions and related publications.
- Change history: what changed between releases and whether values, codes or documentation changed.
| Stored token | Meaning | Trigger rule | Do not confuse with |
| NC | Not collected | Instrument or protocol did not obtain the value | Observed zero; participant refusal |
| NA | Not applicable | Routing or domain rule makes the field invalid for the record | Not asked by mistake |
| DA | Declined to answer | Question presented; response declined | Question never presented |
| IF | Instrument failure | Measurement attempted; process failed | Real-world value equal to zero |
| PD | Pending | Expected value not available in this release | Permanently unavailable |
| ND | Not derived | Derived field not computed under stated rule | Raw value not collected |
| RD | Redacted | Value withheld or transformed for this access release | Original value absent |
| UK | Unknown provenance | Cause cannot be recovered from available records | Convenient generic missing code |
The tokens above are illustrative, not universal standards. A project may choose different codes or native missing-value structures. What matters is that the stored representation, meaning, trigger and scope agree across data, codebook, README and analysis code.
4. Forty original dataset dossiers with worked README language
Dossier 1: campus travel survey
The variable is usual travel time. In this invented dataset, first-year pilot omitted the question. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For usual travel time, code NC means that first-year pilot omitted the question. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not compare pilot blanks with zero-minute journeys. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 1, validation counts NC in every file containing usual travel time, checks the count against the campus travel survey collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1000 lacks usual travel time, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 2: laboratory temperature log
The variable is temperature at minute 30. In this invented dataset, the probe disconnected during one run. The proposed state is IF. A weak README says only “missing values are coded IF”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For temperature at minute 30, code IF means that the probe disconnected during one run. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not treat the gap as room temperature. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 2, validation counts IF in every file containing temperature at minute 30, checks the count against the laboratory temperature log collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1001 lacks temperature at minute 30, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 3: graduate employment survey
The variable is second-job industry. In this invented dataset, respondent reported no second job. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For second-job industry, code NA means that respondent reported no second job. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not classify as non-response. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 3, validation counts NA in every file containing second-job industry, checks the count against the graduate employment survey collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1002 lacks second-job industry, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 4: oral-history archive
The variable is interviewee address. In this invented dataset, withheld from the public release. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For interviewee address, code RD means that withheld from the public release. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not infer that the address was never collected. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 4, validation counts RD in every file containing interviewee address, checks the count against the oral-history archive collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1003 lacks interviewee address, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 5: ecology field sheet
The variable is nest count. In this invented dataset, site could not be visited after flooding. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For nest count, code NC means that site could not be visited after flooding. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not record zero nests. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 5, validation counts NC in every file containing nest count, checks the count against the ecology field sheet collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1004 lacks nest count, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 6: course evaluation
The variable is free-text comment. In this invented dataset, student selected prefer not to answer. The proposed state is DA. A weak README says only “missing values are coded DA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For free-text comment, code DA means that student selected prefer not to answer. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not label as not applicable. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 6, validation counts DA in every file containing free-text comment, checks the count against the course evaluation collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1005 lacks free-text comment, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 7: spectrometer export
The variable is absorbance. In this invented dataset, device error code interrupted measurement. The proposed state is IF. A weak README says only “missing values are coded IF”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For absorbance, code IF means that device error code interrupted measurement. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not interpolate without a documented method. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 7, validation counts IF in every file containing absorbance, checks the count against the spectrometer export collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1006 lacks absorbance, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 8: longitudinal health study
The variable is follow-up date. In this invented dataset, participant has not yet reached the follow-up window. The proposed state is PD. A weak README says only “missing values are coded PD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For follow-up date, code PD means that participant has not yet reached the follow-up window. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not call permanently lost to follow-up. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 8, validation counts PD in every file containing follow-up date, checks the count against the longitudinal health study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1007 lacks follow-up date, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 9: library catalogue study
The variable is digitisation quality score. In this invented dataset, item has not been digitised. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For digitisation quality score, code NA means that item has not been digitised. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not assign a poor quality score. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 9, validation counts NA in every file containing digitisation quality score, checks the count against the library catalogue study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1008 lacks digitisation quality score, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 10: linguistics corpus
The variable is speaker age. In this invented dataset, removed from open release for disclosure control. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For speaker age, code RD means that removed from open release for disclosure control. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not state that age was unrecorded. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 10, validation counts RD in every file containing speaker age, checks the count against the linguistics corpus collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1009 lacks speaker age, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 11: astronomy observation
The variable is cloud cover rating. In this invented dataset, observer form version 1 lacked the field. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For cloud cover rating, code NC means that observer form version 1 lacked the field. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document the instrument-version boundary. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 11, validation counts NC in every file containing cloud cover rating, checks the count against the astronomy observation collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1010 lacks cloud cover rating, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 12: engineering test
The variable is failure load. In this invented dataset, specimen did not fail before machine limit. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For failure load, code NA means that specimen did not fail before machine limit. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not encode machine limit as observed failure. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 12, validation counts NA in every file containing failure load, checks the count against the engineering test collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1011 lacks failure load, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 13: archaeology register
The variable is precise coordinates. In this invented dataset, generalised to grid square for public access. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For precise coordinates, code RD means that generalised to grid square for public access. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document coarsening rather than blankness. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 13, validation counts RD in every file containing precise coordinates, checks the count against the archaeology register collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1012 lacks precise coordinates, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 14: psychology experiment
The variable is reaction time. In this invented dataset, trial excluded because no keypress occurred. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For reaction time, code NA means that trial excluded because no keypress occurred. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: distinguish undefined reaction time from zero milliseconds. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 14, validation counts NA in every file containing reaction time, checks the count against the psychology experiment collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1013 lacks reaction time, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 15: plant growth dataset
The variable is day-14 height. In this invented dataset, plant was removed after contamination. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For day-14 height, code NC means that plant was removed after contamination. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document removal and later collection absence. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 15, validation counts NC in every file containing day-14 height, checks the count against the plant growth dataset collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1014 lacks day-14 height, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 16: economics panel
The variable is household income. In this invented dataset, question presented and declined. The proposed state is DA. A weak README says only “missing values are coded DA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For household income, code DA means that question presented and declined. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: keep separate from routing skip. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 16, validation counts DA in every file containing household income, checks the count against the economics panel collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1015 lacks household income, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 17: audio archive
The variable is signal-to-noise ratio. In this invented dataset, derivation script was not run in release 1. The proposed state is ND. A weak README says only “missing values are coded ND”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For signal-to-noise ratio, code ND means that derivation script was not run in release 1. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not describe the recording as silent. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 17, validation counts ND in every file containing signal-to-noise ratio, checks the count against the audio archive collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1016 lacks signal-to-noise ratio, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 18: remote-sensing study
The variable is surface temperature. In this invented dataset, cloud mask removed the pixel. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For surface temperature, code NA means that cloud mask removed the pixel. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: state mask logic and spatial scope. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 18, validation counts NA in every file containing surface temperature, checks the count against the remote-sensing study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1017 lacks surface temperature, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 19: medical imaging release
The variable is rare diagnosis subtype. In this invented dataset, collapsed into broader category. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For rare diagnosis subtype, code RD means that collapsed into broader category. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document category aggregation. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 19, validation counts RD in every file containing rare diagnosis subtype, checks the count against the medical imaging release collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1018 lacks rare diagnosis subtype, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 20: classroom observation
The variable is teacher talk time. In this invented dataset, camera battery failed mid-lesson. The proposed state is IF. A weak README says only “missing values are coded IF”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For teacher talk time, code IF means that camera battery failed mid-lesson. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: state partial coverage before calculating proportion. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 20, validation counts IF in every file containing teacher talk time, checks the count against the classroom observation collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1019 lacks teacher talk time, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 21: museum collections export
The variable is donor identity. In this invented dataset, restricted under donor agreement. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For donor identity, code RD means that restricted under donor agreement. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not publish protected identity in documentation. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 21, validation counts RD in every file containing donor identity, checks the count against the museum collections export collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1020 lacks donor identity, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 22: marine buoy series
The variable is salinity. In this invented dataset, sensor was not installed during first deployment. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For salinity, code NC means that sensor was not installed during first deployment. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not merge with later device failures. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 22, validation counts NC in every file containing salinity, checks the count against the marine buoy series collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1021 lacks salinity, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 23: social-media research
The variable is post text. In this invented dataset, post deleted before capture. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For post text, code NC means that post deleted before capture. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not reconstruct from replies without provenance. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 23, validation counts NC in every file containing post text, checks the count against the social-media research collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1022 lacks post text, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 24: interview study
The variable is employment status. In this invented dataset, question not applicable to a fictional child participant. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For employment status, code NA means that question not applicable to a fictional child participant. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: state population routing rule. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 24, validation counts NA in every file containing employment status, checks the count against the interview study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1023 lacks employment status, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 25: energy audit
The variable is annual consumption. In this invented dataset, utility statement expected next month. The proposed state is PD. A weak README says only “missing values are coded PD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For annual consumption, code PD means that utility statement expected next month. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: name the release date and update plan. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 25, validation counts PD in every file containing annual consumption, checks the count against the energy audit collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1024 lacks annual consumption, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 26: genomics workflow
The variable is quality-normalised count. In this invented dataset, raw read failed minimum threshold. The proposed state is ND. A weak README says only “missing values are coded ND”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For quality-normalised count, code ND means that raw read failed minimum threshold. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document threshold and required input. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 26, validation counts ND in every file containing quality-normalised count, checks the count against the genomics workflow collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1025 lacks quality-normalised count, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 27: transport sensor network
The variable is vehicle speed. In this invented dataset, packet received without payload. The proposed state is IF. A weak README says only “missing values are coded IF”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For vehicle speed, code IF means that packet received without payload. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not treat as stationary vehicle. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 27, validation counts IF in every file containing vehicle speed, checks the count against the transport sensor network collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1026 lacks vehicle speed, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 28: housing questionnaire
The variable is number of bedrooms. In this invented dataset, participant selected do not know. The proposed state is UK. A weak README says only “missing values are coded UK”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For number of bedrooms, code UK means that participant selected do not know. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: define respondent-declared unknown separately from lost provenance. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 28, validation counts UK in every file containing number of bedrooms, checks the count against the housing questionnaire collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1027 lacks number of bedrooms, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 29: music-performance study
The variable is conductor gesture code. In this invented dataset, camera angle did not include the hands. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For conductor gesture code, code NC means that camera angle did not include the hands. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: describe sightline coverage. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 29, validation counts NC in every file containing conductor gesture code, checks the count against the music-performance study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1028 lacks conductor gesture code, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 30: food diary
The variable is portion size. In this invented dataset, meal recorded but quantity declined. The proposed state is DA. A weak README says only “missing values are coded DA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For portion size, code DA means that meal recorded but quantity declined. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: distinguish food occurrence from quantity response. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 30, validation counts DA in every file containing portion size, checks the count against the food diary collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1029 lacks portion size, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 31: river survey
The variable is flow rate. In this invented dataset, site dry and method defines rate as zero. The proposed state is 0. A weak README says only “missing values are coded 0”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For flow rate, code 0 means that site dry and method defines rate as zero. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: state that zero is an observed valid value, not missing. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 31, validation counts 0 in every file containing flow rate, checks the count against the river survey collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1030 lacks flow rate, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 32: software repository study
The variable is licence field. In this invented dataset, repository explicitly states no licence. The proposed state is value. A weak README says only “missing values are coded value”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For licence field, code value means that repository explicitly states no licence. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not convert the explicit statement into a blank. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 32, validation counts value in every file containing licence field, checks the count against the software repository study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1031 lacks licence field, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 33: bird-call annotation
The variable is species label. In this invented dataset, reviewer marked uncertain between two taxa. The proposed state is UK. A weak README says only “missing values are coded UK”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For species label, code UK means that reviewer marked uncertain between two taxa. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: preserve the ambiguity class rather than forcing one label. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 33, validation counts UK in every file containing species label, checks the count against the bird-call annotation collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1032 lacks species label, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 34: public-opinion poll
The variable is region. In this invented dataset, suppressed for a small subgroup. The proposed state is RD. A weak README says only “missing values are coded RD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For region, code RD means that suppressed for a small subgroup. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: warn that subgroup totals may not match released cells. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 34, validation counts RD in every file containing region, checks the count against the public-opinion poll collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1033 lacks region, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 35: chemistry practical
The variable is mass after drying. In this invented dataset, sample spilled before the final weighing. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For mass after drying, code NC means that sample spilled before the final weighing. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: record process event and avoid invented final mass. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 35, validation counts NC in every file containing mass after drying, checks the count against the chemistry practical collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1034 lacks mass after drying, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 36: education dataset
The variable is final grade. In this invented dataset, course still in progress at extract date. The proposed state is PD. A weak README says only “missing values are coded PD”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For final grade, code PD means that course still in progress at extract date. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not classify as fail or withdrawal. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 36, validation counts PD in every file containing final grade, checks the count against the education dataset collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1035 lacks final grade, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 37: clinical trial file
The variable is adverse-event severity. In this invented dataset, no adverse event occurred. The proposed state is NA. A weak README says only “missing values are coded NA”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For adverse-event severity, code NA means that no adverse event occurred. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: the event indicator may be false while severity is not applicable. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 37, validation counts NA in every file containing adverse-event severity, checks the count against the clinical trial file collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1036 lacks adverse-event severity, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 38: urban tree inventory
The variable is trunk diameter. In this invented dataset, tree inaccessible behind temporary fencing. The proposed state is NC. A weak README says only “missing values are coded NC”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For trunk diameter, code NC means that tree inaccessible behind temporary fencing. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: do not impute without a declared model. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 38, validation counts NC in every file containing trunk diameter, checks the count against the urban tree inventory collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1037 lacks trunk diameter, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 39: translation study
The variable is back-translation score. In this invented dataset, item was excluded before scoring. The proposed state is ND. A weak README says only “missing values are coded ND”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For back-translation score, code ND means that item was excluded before scoring. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: document exclusion rule and stage. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 39, validation counts ND in every file containing back-translation score, checks the count against the translation study collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1038 lacks back-translation score, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
Dossier 40: heritage photograph archive
The variable is capture date. In this invented dataset, source catalogue gives only a decade. The proposed state is value. A weak README says only “missing values are coded value”. A usable README explains the event, scope and semantic boundary so the next researcher can distinguish absence of data from a measured value or an access decision.
Suggested documentation: “For capture date, code value means that source catalogue gives only a decade. It applies to the affected records in the stated release and should not be interpreted as zero, false or an observed negative value.” Then add the case-specific warning: represent interval precision explicitly rather than fabricate a day. If the state applies only to certain waves, files or columns, list them rather than relying on a general note.
For dossier 40, validation counts value in every file containing capture date, checks the count against the heritage photograph archive collection or processing record, and compares raw and released states where access permits. Recalculate one relevant denominator with the state excluded and then explicitly represented. This sensitivity check does not authorise indiscriminate imputation; it reveals how the conclusion depends on the documented meaning.
Worked audit question
Could a new team member tell why record 1039 lacks capture date, whether the value ever existed, and whether another access route might contain it? If any answer requires private memory, the README or linked codebook is incomplete. Repair the documentation without exposing protected information.
5. Audit, analysis and transfer
1. Token audit
List every literal token that analysis software treats as missing. Compare the list with the README and data dictionary. Unexpected blanks, spaces and magic numbers need investigation.
For audit 1, record the date, release identifier, query or script, expected condition, observed result and action. The resulting evidence should let another person rerun this token audit; “cleaned carefully” is not an inspectable substitute.
2. Frequency audit
Count each state by variable, file, collection wave, site and release. Sudden changes may reveal instrument or pipeline boundaries.
For audit 2, record the date, release identifier, mapping table, expected condition, observed result and action. The resulting evidence should let another person rerun this frequency audit; “cleaned carefully” is not an inspectable substitute.
3. Logic audit
Test routing rules. A not-applicable severity should correspond to no event; exceptions may be data errors or special cases.
For audit 3, record the date, release identifier, routing rule, expected condition, observed result and action. The resulting evidence should let another person rerun this logic audit; “cleaned carefully” is not an inspectable substitute.
4. Range audit
Confirm that valid zeros and false values remain valid. Check whether import coercion converted them.
For audit 4, record the date, release identifier, type check, expected condition, observed result and action. The resulting evidence should let another person rerun this range audit; “cleaned carefully” is not an inspectable substitute.
5. Provenance audit
Trace a sample of cells from raw source through transformation to release. Retain code and version references.
For audit 5, record the date, release identifier, provenance trace, expected condition, observed result and action. The resulting evidence should let another person rerun this provenance audit; “cleaned carefully” is not an inspectable substitute.
6. Redaction audit
Compare public and controlled schemas where authorised. Confirm that documentation describes removed or coarsened fields without leaking them.
For audit 6, record the date, release identifier, release comparison, expected condition, observed result and action. The resulting evidence should let another person rerun this redaction audit; “cleaned carefully” is not an inspectable substitute.
7. Denominator audit
Write the denominator in words before computing a percentage. State which missingness states are excluded and why.
For audit 7, record the date, release identifier, denominator sentence, expected condition, observed result and action. The resulting evidence should let another person rerun this denominator audit; “cleaned carefully” is not an inspectable substitute.
8. Imputation audit
Record which states are eligible for a method, which are structurally inapplicable, and which should not be filled.
For audit 8, record the date, release identifier, model specification, expected condition, observed result and action. The resulting evidence should let another person rerun this imputation audit; “cleaned carefully” is not an inspectable substitute.
9. Version audit
Check whether code meanings changed between releases. A stable token with a changed meaning is especially dangerous.
For audit 9, record the date, release identifier, changelog diff, expected condition, observed result and action. The resulting evidence should let another person rerun this version audit; “cleaned carefully” is not an inspectable substitute.
10. Reader audit
Give the package to someone outside the project and ask for interpretations of selected cells. Revise wherever they must guess.
For audit 10, record the date, release identifier, reader task, expected condition, observed result and action. The resulting evidence should let another person rerun this reader audit; “cleaned carefully” is not an inspectable substitute.
A concise missingness-dictionary template
| Field | What to write |
| Code | Literal stored representation and data type |
| Label | Short human-readable name |
| Definition | One meaning with a clear boundary |
| Trigger | Collection, routing, processing or access event |
| Scope | Files, variables, waves, dates or groups |
| Example | Invented or non-sensitive example |
| Analysis note | Denominator, modelling or exclusion warning |
| Provenance | Source or transformation stage |
| Owner | Role or team that can answer questions |
Student and researcher actions
- Freeze and checksum the raw source before normalising codes.
- Write the missingness dictionary before the main analysis script.
- Keep access redaction distinct from collection failure.
- Test zero, false, empty string and missing tokens in the actual software stack.
- Link the README to the authoritative codebook and release record.
- State limitations without claiming that documentation eliminates bias.
- Ask an uninvolved reader to interpret selected cells.
- Update documentation and version history together.
Frequently asked questions
1. Can I use NA for everything?
You can store a common missing representation in some systems, but you should not erase distinct meanings. Preserve the semantic state in a companion variable, structured metadata or another documented mechanism.
2. Is not applicable the same as missing at random?
No. Not applicable is a domain or routing meaning. Missing-at-random terminology belongs to statistical assumptions about missingness mechanisms and must not be inferred from a label alone.
3. Should redacted values be imputed?
Not automatically. Redaction is an access and governance state. Any modelling decision requires the research design, access rules, disclosure risk and analytic purpose to be considered.
4. Does a README replace a data dictionary?
Usually not. The README orients the package; the data dictionary describes variables and codes in more detail. Link them.
5. Can zero be a missing code?
Legacy datasets sometimes use any magic number, but this is risky when zero may be valid. Prefer representations and validation rules that cannot be confused with legitimate values.
6. What if I cannot recover the cause of a blank?
Document unknown provenance. Do not invent a narrower explanation. Preserve evidence that might support later repair.
7. How much should a public README say about redaction?
Enough to explain that the released data differ and how at a general level, but never enough to reveal protected values or defeat disclosure controls.
8. Is this a universal repository standard?
No. It is a vocabulary and documentation method. Use the actual repository, discipline, funder, ethics and institutional requirements for your project.
Sources and further reading
- The University of Hong Kong Libraries — Data Documentation: describes study-level and data-level documentation, missing-data codes, README files and data dictionaries.
- Swedish National Data Service — Guide to preparing data for sharing: explains that README documentation should connect files with methods and describe columns, units, categories and missing-value quality codes.
- Federated Research Data Repository — Preparing Your Data: official repository guidance on README files, codebooks and interpretation.
- How to Learn Vocabulary at 21 Years Old: existing owner for broader university research vocabulary and source synthesis.
- Why English? Explaining a Literature Search Scope Change: neighbouring owner for research-scope decisions rather than dataset missingness.
Continue with a useful next route
For the wider sequence, use the eduKateSG Vocabulary Hub and the Core Aim of Vocabulary Mastery hub. This article keeps a narrow owner: documenting distinct missing-data and access states in a dataset README. For broader model-evaluation terminology, use the existing Model Evaluation Vocabulary owner instead of expanding this guide into an AI hub.
Sources and live destinations were reviewed on 24 October 2026. Illustrative learners, classrooms, rehearsals, datasets and results in this guide are invented teaching cases, not reported outcomes. The activities are diagnostic suggestions, not guarantees or universal developmental milestones.
README laboratory appendix: forty independent handover tests
Handover test 1: explain usual travel time to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about campus travel survey, that first-year pilot omitted the question, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving usual travel time. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not compare pilot blanks with zero-minute journeys. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 2: explain temperature at minute 30 to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about laboratory temperature log, that the probe disconnected during one run, and that the stored state is IF. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving temperature at minute 30. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not treat the gap as room temperature. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 3: explain second-job industry to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about graduate employment survey, that respondent reported no second job, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving second-job industry. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not classify as non-response. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 4: explain interviewee address to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about oral-history archive, that withheld from the public release, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving interviewee address. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not infer that the address was never collected. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 5: explain nest count to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about ecology field sheet, that site could not be visited after flooding, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving nest count. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not record zero nests. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 6: explain free-text comment to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about course evaluation, that student selected prefer not to answer, and that the stored state is DA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving free-text comment. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not label as not applicable. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 7: explain absorbance to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about spectrometer export, that device error code interrupted measurement, and that the stored state is IF. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving absorbance. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not interpolate without a documented method. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 8: explain follow-up date to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about longitudinal health study, that participant has not yet reached the follow-up window, and that the stored state is PD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving follow-up date. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not call permanently lost to follow-up. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 9: explain digitisation quality score to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about library catalogue study, that item has not been digitised, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving digitisation quality score. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not assign a poor quality score. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 10: explain speaker age to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about linguistics corpus, that removed from open release for disclosure control, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving speaker age. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not state that age was unrecorded. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 11: explain cloud cover rating to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about astronomy observation, that observer form version 1 lacked the field, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving cloud cover rating. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document the instrument-version boundary. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 12: explain failure load to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about engineering test, that specimen did not fail before machine limit, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving failure load. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not encode machine limit as observed failure. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 13: explain precise coordinates to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about archaeology register, that generalised to grid square for public access, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving precise coordinates. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document coarsening rather than blankness. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 14: explain reaction time to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about psychology experiment, that trial excluded because no keypress occurred, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving reaction time. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: distinguish undefined reaction time from zero milliseconds. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 15: explain day-14 height to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about plant growth dataset, that plant was removed after contamination, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving day-14 height. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document removal and later collection absence. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 16: explain household income to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about economics panel, that question presented and declined, and that the stored state is DA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving household income. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: keep separate from routing skip. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 17: explain signal-to-noise ratio to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about audio archive, that derivation script was not run in release 1, and that the stored state is ND. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving signal-to-noise ratio. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not describe the recording as silent. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 18: explain surface temperature to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about remote-sensing study, that cloud mask removed the pixel, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving surface temperature. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: state mask logic and spatial scope. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 19: explain rare diagnosis subtype to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about medical imaging release, that collapsed into broader category, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving rare diagnosis subtype. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document category aggregation. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 20: explain teacher talk time to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about classroom observation, that camera battery failed mid-lesson, and that the stored state is IF. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving teacher talk time. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: state partial coverage before calculating proportion. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 21: explain donor identity to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about museum collections export, that restricted under donor agreement, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving donor identity. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not publish protected identity in documentation. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 22: explain salinity to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about marine buoy series, that sensor was not installed during first deployment, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving salinity. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not merge with later device failures. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 23: explain post text to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about social-media research, that post deleted before capture, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving post text. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not reconstruct from replies without provenance. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 24: explain employment status to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about interview study, that question not applicable to a fictional child participant, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving employment status. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: state population routing rule. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 25: explain annual consumption to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about energy audit, that utility statement expected next month, and that the stored state is PD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving annual consumption. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: name the release date and update plan. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 26: explain quality-normalised count to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about genomics workflow, that raw read failed minimum threshold, and that the stored state is ND. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving quality-normalised count. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document threshold and required input. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 27: explain vehicle speed to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about transport sensor network, that packet received without payload, and that the stored state is IF. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving vehicle speed. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not treat as stationary vehicle. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 28: explain number of bedrooms to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about housing questionnaire, that participant selected do not know, and that the stored state is UK. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving number of bedrooms. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: define respondent-declared unknown separately from lost provenance. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 29: explain conductor gesture code to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about music-performance study, that camera angle did not include the hands, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving conductor gesture code. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: describe sightline coverage. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 30: explain portion size to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about food diary, that meal recorded but quantity declined, and that the stored state is DA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving portion size. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: distinguish food occurrence from quantity response. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 31: explain flow rate to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about river survey, that site dry and method defines rate as zero, and that the stored state is 0. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving flow rate. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: state that zero is an observed valid value, not missing. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 32: explain licence field to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about software repository study, that repository explicitly states no licence, and that the stored state is value. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving licence field. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not convert the explicit statement into a blank. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 33: explain species label to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about bird-call annotation, that reviewer marked uncertain between two taxa, and that the stored state is UK. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving species label. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: preserve the ambiguity class rather than forcing one label. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 34: explain region to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about public-opinion poll, that suppressed for a small subgroup, and that the stored state is RD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving region. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: warn that subgroup totals may not match released cells. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 35: explain mass after drying to a research assistant joining late
Without opening the analysis notebook, the reader must determine that the dataset is about chemistry practical, that sample spilled before the final weighing, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving mass after drying. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: record process event and avoid invented final mass. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 36: explain final grade to a journal data editor
Without opening the analysis notebook, the reader must determine that the dataset is about education dataset, that course still in progress at extract date, and that the stored state is PD. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving final grade. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not classify as fail or withdrawal. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 37: explain adverse-event severity to a future honours student
Without opening the analysis notebook, the reader must determine that the dataset is about clinical trial file, that no adverse event occurred, and that the stored state is NA. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving adverse-event severity. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: the event indicator may be false while severity is not applicable. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 38: explain trunk diameter to a repository curator
Without opening the analysis notebook, the reader must determine that the dataset is about urban tree inventory, that tree inaccessible behind temporary fencing, and that the stored state is NC. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving trunk diameter. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: do not impute without a declared model. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 39: explain back-translation score to a statistician outside the discipline
Without opening the analysis notebook, the reader must determine that the dataset is about translation study, that item was excluded before scoring, and that the stored state is ND. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving back-translation score. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: document exclusion rule and stage. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.
Handover test 40: explain capture date to an ethics reviewer
Without opening the analysis notebook, the reader must determine that the dataset is about heritage photograph archive, that source catalogue gives only a decade, and that the stored state is value. Ask the reader to distinguish the code from zero, false, ordinary non-response and redaction. The explanation succeeds only if the relevant boundary is recoverable from the package rather than from the original analyst’s memory.
Next, ask for the denominator of a simple descriptive statistic involving capture date. The reader should be able to state which records are eligible, which are structurally outside the variable’s domain, and which remain relevant to response or coverage reporting. If the reader silently drops every missing-looking token, the README has not yet carried enough analytical meaning.
Finally, test version awareness. Present a second release in which the code count changes. The reader must check whether collection, processing, access or documentation changed before interpreting the difference. The warning remains: represent interval precision explicitly rather than fabricate a day. Record the test outcome and revise the README, codebook or changelog at the point where guessing began.