Search code examples
databasespssdata-cleaning

Checking Mutual Exclusivity of Binary Variables in SPSS


I have the pleasure of post-hoc cleaning a database. I have about 8 binary categorical variables which should all be mutually exclusive. Variables are coding a diagnosis category for patients and look like:

LipDeformity
PalateDeformity
Fistula
NasalDeformity
EarDeformity
OtherDiagnosis
MissingDiagnosis

For each case, one of these variables should =1 and the rest should =0. I have been trying to find out how to check for overlapping variables in SPSS syntax but have not been able to find it. I tried a DO REPEAT:

DO REPEAT x = LipDeformity LipDeformity LipDeformity LipDeformity LipDeformity LipDeformity 
/ y = PalateDeformity Fistula NasalDeformity EarDeformity OtherDiagnosis MissingDiagnosis.
DO IF x=1=y.
COMPUTE OverlappingLipDiagnosis=1.
ELSE.
COMPUTE OverlappingLipDiagnosis=0.
END IF.

but SPSS coded everything as OverlappingLipDiagnosis=1. In addition this would be a tedious way to check for each combination of variables, and I want to optimally be able to create one variable with 0=no 2 variables are "1" and 1=(any) two variables both are "1".

Thanks!


Solution

  • Try this:

    compute OverlappingLipDiagnosis=sum(LipDeformity, PalateDeformity, Fistula, 
            NasalDeformity, EarDeformity, OtherDiagnosis, MissingDiagnosis)>1.