SPSS Missing Values Not Excluded: Diagnostic Guide for Descriptive Stats and Regression
A practical diagnostic guide for when SPSS includes placeholder codes like -999 or NA in descriptives and regression, with checks, fixes, and verification steps.
08 Sept 2026, 01:38 UTC

Problem: SPSS treats placeholders as real data
Descriptive statistics show an implausible mean, standard deviation, or N, and regression output reports unexpected degrees of freedom or inflated R-square. The useful takeaway is that SPSS only excludes values you have explicitly declared as missing in Variable View or via syntax. Placeholder codes like -999, 999, or text strings such as 'NA' are treated as valid numeric values unless defined as user-missing.
Recognizable condition
- Means are pulled toward a sentinel value, e.g., a scale 1-5 with a mean near -800.
- N for a variable equals total rows, even though you know some cases are absent.
- Regression shows more cases than expected and residual plots contain extreme outliers at the placeholder value.
Cause / diagnostic table
| Symptom | Likely cause | Where to check |
|---|---|---|
| Sentinel numeric code appears in frequencies | Code not declared as user-missing | Variable View > Missing column |
| Text 'NA', '?' or blank appears as a value | String variable or mixed type column | Variable View > Type, Data View |
| Missing defined but still included in analysis | Analysis uses MISSING=PAIRWISE or custom handling, or definition applied after analysis | Syntax / dialog options |
| Some variables correct, others not | Inconsistent missing definitions across variables | Variable View per variable |
Ordered checks
1. Inspect Variable View for missing definitions
Open the .sav file in SPSS Statistics. Switch to Variable View. For each numeric variable, check the Missing column. User-missing can be one discrete value or a range. System missing is the blank dot and is always recognized.
Risk: changing missing definitions retroactively changes all subsequent analyses. Work on a copy.
2. Confirm data type consistency
If a column contains both numbers and text placeholders, SPSS will coerce the variable to String. String variables cannot have numeric missing codes. In Variable View, verify Type is Numeric for scales you intend to analyze. Mixed types require cleaning before missing can be set.
3. Audit actual values with Frequencies
Run a frequency check in the Syntax Editor with read access to the active dataset. This confirms whether SPSS sees the placeholder as a valid category.
FREQUENCIES VARIABLES=var1 var2 var3
/STATISTICS=MEAN STDDEV
/MISSING=LIST.
Expected check: the frequency table should list the placeholder code if it is not defined as missing. With /MISSING=LIST, cases with any user-missing on listed variables are excluded from statistics.
Cautions: /MISSING=LIST excludes a case if any variable is missing. Do not add a valid code such as 0 to the missing list, or legitimate data will be removed.
4. Compare DESCRIPTIVES before and after
DESCRIPTIVES VARIABLES=var1 var2
/STATISTICS=MEAN STDDEV NVALID.
Note NVALID versus N. A mismatch suggests missing codes are present but not declared.
Fixes tied to findings
Numeric sentinel code not declared
In Variable View, click the Missing cell for the variable and choose Discrete missing. Enter the placeholder, e.g., -999. For a range, choose Range and enter lower and upper bounds.
Alternatively via syntax, run before analysis:
MISSING VALUES var1 (-999).
Re-run Frequencies and DESCRIPTIVES. The placeholder should no longer appear as a valid value and NVALID should drop.
Text placeholder in numeric variable
SPSS cannot store text in a numeric column. First convert placeholders to a numeric sentinel, then declare it missing.
RECODE var1 ('NA' = -999) ('?' = -999) (ELSE = COPY) INTO var1_clean.
MISSING VALUES var1_clean (-999).
EXECUTE.
Risk: RECODE creates a new variable. Verify the mapping before replacing the original.
Missing defined but analysis still includes cases
Check the analysis dialog. In Regression > Statistics, ensure you are not overriding missing handling. In syntax, verify you are not using MISSING=PAIRWISE when listwise exclusion is required. Re-run the original procedure after the missing definition is in place.
Verification
- Variable View shows the placeholder in the Missing column for each affected variable.
- FREQUENCIES /MISSING=LIST shows 0 count for the placeholder code and N matches the expected complete cases.
- Re-executed descriptives or regression shows adjusted mean, SD, and degrees of freedom consistent with exclusion of the declared missing codes.
Limitations
SPSS does not auto-detect missing placeholders. System missing is only the empty cell. User-missing must be declared per variable and persists with the file. Changing missing definitions does not retroactively change saved output.
Escalation criteria
Escalate to data source review if:
- Missing definitions are correct in Variable View but placeholders still appear in output. Check for duplicate variable names or a different dataset being active.
- Mixed numeric and string values persist after cleaning. The source file may require import mapping changes.
- Regression diagnostics remain unstable after missing is fixed. Consider additional data quality issues such as outliers or coding errors.
Keep a backup .sav before applying RECODE or MISSING VALUES, as these changes alter the dataset state.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.