Tutorials › Regression Analysis (Undergraduate) › Missingness Types in Regression Data

Missing Data in Regression Analyses · Tutorial 842 of 991

Missingness Types in Regression Data

Learn a reliable way to decide whether a value is missing, not applicable, validly zero, specially coded, or incorrectly recorded.

Intermediate 10 min read

What You'll Learn

  • Distinguish unit nonresponse from item nonresponse by checking whether a selected unit supplied any data.
  • Decide whether a field applies to a unit before calling its value missing.
  • Recognize when zero is a valid recorded value rather than evidence of absence.
  • Interpret special codes using the data dictionary instead of treating them as numeric measurements.
  • Separate missing values from recorded values that appear to be data-entry errors.
  • Classify mixed examples in regression datasets using a consistent sequence of checks.

Why the Kind of Absence Matters

A regression dataset may contain blank cells, codes such as -9, or values that do not make sense for a particular person. These situations can look alike in a spreadsheet, but they do not mean the same thing. A selected person who supplied no data differs from a participant who left one question blank. Both differ from a field that does not apply to that person at all.

Classifying a value correctly is a basic data-quality task. If a meaningful zero is mistaken for missingness, information is discarded. If a special code is treated as an actual measurement, calculations can be distorted. And if an impossible entry is treated as ordinary missingness without investigation, a correctable recording problem may go unnoticed. The first question is therefore not “What should be done with this value?” but “What does this entry represent?”

Definition: Unit nonresponse occurs when a selected unit does not participate and supplies no data. Item nonresponse occurs when a participating unit does not supply a value for a field that applies to that unit. A value is structurally undefined when the field does not apply to the unit, so there is no value to report. These are distinct situations, even if a database displays each one as a blank.

Classify the Unit and Field Before the Cell

A useful classification starts with the unit, meaning the person, household, clinic, or other observational unit represented by a record. Then examine the field, meaning the variable recorded for that unit. A blank in a field cannot be classified accurately without knowing whether the unit participated and whether the field applies.

For a selected unit, ask first whether it supplied any data. If it supplied none, the case is unit nonresponse. If it supplied some data, it participated; a blank in an applicable field is item nonresponse. If the field does not apply, the absence is structural rather than item nonresponse. The order matters: a field-level blank cannot be described as item nonresponse for a unit that did not participate at all.

$$ \text{selected unit} \longrightarrow \begin{cases} \text{no data supplied} & \text{unit nonresponse},\\ \text{some data supplied} & \text{check the field:}\\ \qquad\text{field applies, value absent} & \text{item nonresponse},\\ \qquad\text{field does not apply} & \text{structurally undefined}. \end{cases} $$

The word “absent” here refers to the underlying information, not necessarily to an empty spreadsheet cell. A database may use a code or text label to represent an absent value. Conversely, an empty cell may represent a data-processing problem rather than a genuine nonresponse. Check the data dictionary and the collection process before deciding what the stored entry means.

Worked Example: Separating Unit and Item Nonresponse

Suppose a hypothetical survey selects 60 adults for a study of sleep and work schedules. Fifty-two adults return a survey with at least some answers; the other selected adults provide no data. Every survey field discussed here applies to all 52 respondents. Among those respondents, 3 leave the sleep-hours field blank and 2 leave the work-schedule field blank. Classify the absences.

Units with no data. The number of selected adults who supplied no data is \(60-52=8\). Those 8 cases are unit nonresponse: each adult was selected but did not participate and supplied no data.

Blank fields among respondents. Because all 52 respondents supplied some data and both fields apply to every respondent, the 3 blank sleep-hours entries and the 2 blank work-schedule entries are item nonresponse. They are missing values for applicable fields, not structurally undefined values.

For example, the fraction of participating adults with a blank sleep-hours entry is \(\frac{3}{52}=0.05769\), or about 5.77%. This calculation describes that particular field among the 52 participants; it does not count the 8 selected adults who supplied no data. The denominator and the meaning of the count must match the question being asked.

Structural Undefinedness Is About Applicability

A structurally undefined value is not simply a response that someone forgot to give. The variable has no applicable value for that unit under the study’s definition. For example, “gestational age at the most recent pregnancy” is undefined for someone who has never had a pregnancy. By contrast, “number of previous pregnancies” can be recorded as zero for that person. One field is undefined; the other has a meaningful, observed zero.

Applicability must be decided from the variable definition and the situation, not inferred solely from the cell’s appearance. A blank field could be item nonresponse or a structural value; the fact that it is blank does not decide which. Likewise, a stored “not applicable” code may represent structural undefinedness rather than an ordinary missing value.

Key distinction: A valid zero is an observed value that means none or an amount of zero on the variable’s scale. A structurally undefined value has no value because the field does not apply. For instance, zero previous pregnancies is a count; gestational age at the most recent pregnancy is undefined when there has been no pregnancy.

Worked Example: A Valid Zero Beside an Undefined Field

Consider a hypothetical regression dataset about pregnancy history. Two recorded fields are “number of previous pregnancies” and “gestational age in weeks at the most recent pregnancy.” All four people in this example participated in the study. The recorded entries are:

PersonPrevious pregnanciesGestational age at most recent pregnancy (weeks)
A0Not applicable
B238
C1Blank
D0Not applicable

For A and D, the value 0 for previous pregnancies is valid: each person reports no previous pregnancies. The gestational-age field, however, is structurally undefined for those two people, because there is no most recent pregnancy whose gestational age could be recorded. “Not applicable” is not a gestational age of zero weeks.

Person B has two previous pregnancies and a recorded gestational age of 38 weeks at the most recent one. For person C, the gestational-age field applies because there is a previous pregnancy, but the cell is blank. Given the stated information, C’s blank is item nonresponse. Thus the four records include two valid zero counts, two structurally undefined gestational-age values, and one item-nonresponse value in an applicable field. These classifications concern different fields, so their counts need not sum to four.

Special Codes and Data-Entry Errors

A special code is a stored label used to represent a status rather than a measured value. Common examples include -9 for “not reported,” 99 for “refused,” or 999 for “not applicable.” Such codes must be interpreted using the data dictionary or documentation. A code that looks numeric is not automatically a quantitative observation: if -9 means “not reported,” it does not mean the person had negative nine units of the characteristic.

Special codes can represent different underlying situations. A code for “refused” may represent item nonresponse for an applicable field. A code for “not applicable” may represent structural undefinedness. A code for “unknown” may indicate that a value could not be established. The numeric form of the code alone does not tell you which interpretation is correct. If documentation is missing or ambiguous, the classification is uncertain and should not be guessed.

A data-entry error is different again. It is a recorded value that does not accurately represent the intended observation. For example, a gestational age of 240 weeks is implausible and may be a typing error, but the entry is not automatically a missing value. It is a recorded value that requires checking against the source record or other documentation. If the entry is confirmed incorrect and cannot be corrected, a dataset may later mark it as unavailable; that later representation does not make the original error a response or a structural value.

Worked Example: Reading Codes and Flagging an Implausible Entry

A hypothetical dataset records years of education, number of previous pregnancies, and gestational age at the most recent pregnancy. Its data dictionary says that -9 means “not reported” for years of education, and 999 means “not applicable” for gestational age when there has been no previous pregnancy. All four people participated. The entries are:

PersonYears of educationPrevious pregnanciesGestational age (weeks)
A00999
B-9238
C121240
D160999

For A, 0 years of education is a valid zero under the stated variable definition; it is not missingness. The value 0 for previous pregnancies is also valid. The code 999 means the gestational-age field is structurally undefined for A, because there has been no previous pregnancy. Person D has the same classifications for these three entries.

For B, -9 is not a measured education value. According to the data dictionary it means “not reported,” so it represents item nonresponse for an applicable field. B’s two previous pregnancies and 38 weeks are recorded values. For C, the entry 240 is not a special code according to the stated dictionary; it is an implausible recorded value. It should be flagged and checked as a possible data-entry error, not silently interpreted as either a valid gestational age or an ordinary missing value.

The example contains two valid zeros for the pregnancy-count field, two structural codes for gestational age, one special nonresponse code, and one suspicious recorded value. The same record can contain different classifications across its fields.

A Consistent Classification Check

The following sequence prevents the most common mix-ups. In particular, it checks whether a value exists and applies before treating a numeric entry as a measurement.

1
Check participation.
Did the selected unit supply any data? If not, classify the case as unit nonresponse. Do not call a blank field for that unit item nonresponse.
2
Check applicability.
For a participating unit, does the field apply? If it does not, the value is structurally undefined. Use the variable definition and relevant circumstances to establish this.
3
Interpret the recorded entry.
If the field applies, decide whether the entry is a measurement, a valid zero, a documented special code, a blank, or a potentially incorrect value. Consult the data dictionary for codes.
4
Describe the evidence accurately.
Classify an applicable field with no supplied value as item nonresponse. Flag a suspicious recorded value as a possible error until it is checked; do not invent a missingness explanation.

This sequence separates questions that are easy to collapse: whether a unit took part, whether a field applies, and whether an entry is a trustworthy value. The classification is about the meaning and source of the data, not merely its visual format.

Common Mistakes and Why the Distinctions Matter

  • Calling a selected nonparticipant an item nonrespondent. If the selected unit supplied no data, the classification is unit nonresponse. Item nonresponse requires a participating unit and an applicable field without a supplied value.
  • Treating every blank as the same kind of missingness. A blank could reflect item nonresponse, structural undefinedness, or a processing issue. Check participation, applicability, and documentation.
  • Replacing zero with missingness. A zero can be a meaningful value, such as zero previous pregnancies or zero years on a measured scale. It should not be removed just because it looks unusual beside positive values.
  • Using a code as if it were a measurement. A value such as -9 or 999 may be a label for nonresponse or inapplicability. Its meaning comes from the data dictionary, not from its arithmetic appearance.
  • Calling every implausible value missing. An implausible recorded value may be a data-entry error. It requires verification; it is not automatically a blank, a special code, or a structurally undefined value.

These distinctions matter because later descriptions and analyses depend on what each entry represents. A valid zero contributes information. A structural value has no applicable measurement to contribute. A special code needs interpretation before numerical use, while a suspect entry calls for quality checking. Keeping these categories separate makes the dataset’s limitations clearer and prevents a data-cleaning decision from being mistaken for a fact about the units.

Key takeaway: First determine whether the selected unit participated; then determine whether the field applies; finally interpret the recorded entry. This order distinguishes unit nonresponse, item nonresponse, structural undefinedness, valid zeros, special codes, and possible data-entry errors.

Check Your Understanding

For each question, state the classification and briefly explain what information supports it.

  1. A selected household supplies no questionnaire data. Is this unit nonresponse or item nonresponse?
  2. A participating person leaves a field blank, and the field applies to everyone in the study. What type of absence is this?
  3. A participant reports zero previous pregnancies. Explain why this is not the same as a structurally undefined gestational-age field.
  4. A data dictionary defines 99 as “refused” for an applicable question. Why should 99 not be treated as a quantitative response?
  5. A recorded age is 240 years, and there is no special code for that value. What should be concluded before deciding how to handle it?