Field note
Why should missing values have separate meanings?
Unknown, refused, not applicable, not asked, and legitimate skip can imply different analysis and interpretation. Record each explicit token and its meaning instead of collapsing every absence into blank.
Absence is not one state
Begin by listing every token that means a value is absent. Blank, NA, 9, 99, refused, unknown, not applicable, and legitimate skip should not be merged unless the dataset's documented method truly treats them as the same state.
Keep missing and valid codes separate
A code that means a valid category cannot also mean missing. The studio lints that conflict, but the author must decide which interpretation is correct and update the source process separately if needed.
Review downstream interpretation
Ask a reader how each missing state should be handled before analysis, because a code that looks obvious to the person who wrote the form is rarely obvious to the person receiving the file. Record the answer as bounded review evidence and revise any wording that turned out to be unclear. Where two states are genuinely treated the same downstream, say so in the folio rather than leaving the reader to assume it.
Worked example from the sample project
In the sample, species_code carries a single missing code, UNK, with its own meaning recorded beside it. That is a small thing and it changes how the column can be read: a row with UNK is a tree the field team could not classify, which is different from a row where the cell is blank because nobody filled the form in.
Push it further and the value of the separation becomes obvious. Suppose a later survey adds REF for refused access and NA for not applicable. Collapse all three into blank and every downstream count of unclassified trees silently merges three different situations, and no analyst reading the file can pull them back apart.
What this does not do
- It does not detect missing-value codes for you; you list the tokens your dataset actually uses.
- It cannot tell whether a code means missing or a valid category. It can only report the conflict.
- It does not rewrite the source data or change how any analysis tool treats a token.
Do this in the studio
List every token that means absent, and give each one its own sentence.
- Open the Field folios station and add each missing code with its meaning.
- Check that no code appears in both the allowed values and the missing codes.
- Ask a reader how each state should be treated before analysis.
Open the studio at the Field folios station