I have a questionnaire that contains some skip questions. Like, say, the 3rd question is a yes/no type question. Only those who answered "yes" to the 3rd question are requested to answer the 4th, 5th and 6th question and those who answered "no" are requested to skip these three questions.

I am sorry that I have no experience about how to make SPSS know that the missing values in the variables corresponding to the 4th, 5th and 6th question are due to the answer "no" in the previous (3rd) question.

I should mention that some respondents didn't even answer the 3rd question and thus the answers to the 4th, 5th and 6th questions are automatically missing. So not all the missing values in these three variables (corresponding to the 4th, 5th and 6th question) are solely due to the answer "no" in the previous question.

I need to know, if I need to use multiple imputation, then how can I avoid the imputation of the missing values due to the answer "no". I have seen something about user-defined missing values and I do not have much idea about it. Can anyone explain what should be done in my case? I will basically try a regression and later if I have time, a factor analysis with the data.

  • $\begingroup$ If your variable is no then you should set the other as no. Try just doing an if(q3...) $\endgroup$
    – Max Gordon
    Commented Apr 17, 2013 at 20:21
  • 2
    $\begingroup$ When you do imputation within only a subsample of respondents which are qualified to answer (i.e. they were asked those questions), filter out the rest of the sample. MULT IMPUT command honours filtering. Filtered out cases won't be imputed. This issue is irrespective to how you code missing values. (I like to make system-missing only those who weren't asked, and user-missing those who found difficulty to answer.) $\endgroup$
    – ttnphns
    Commented Apr 18, 2013 at 5:36
  • $\begingroup$ @ttnphns This sounds like the more of an answer than mine - maybe flesh it out below? $\endgroup$ Commented Apr 18, 2013 at 14:46
  • $\begingroup$ @ttnphns If I'm understanding you right, you're suggesting imputing subsets of the data conditioned on the skip(s), so less information is used in each imputation but each subset you impute has homogenous column structure that makes the actual imputation easier. $\endgroup$ Commented Apr 18, 2013 at 14:49
  • $\begingroup$ I simply proposed that if the total sample is 1000 but the subsample that was asked the question is 500, only those 500 respondents should be used to predict missing responses within the questions asked just those 500. Probably this is what you're writing. $\endgroup$
    – ttnphns
    Commented Apr 18, 2013 at 15:01

1 Answer 1


The following is only half an answer...

I had imagined that your case was one motivation for SPSS's distinction between user missing data (when you assign some values 9999 or similar) and user missing data (represented by the period). Your skipped questions would then get the first one. If that were true this would explain to recode things in SPSS syntax.

However, a brief read of the docs for the missing value imputation module suggests that both types of missing get imputed. So, coding doesn't seem to help get the right behavior and I'm no longer sure what the distinction is for.

Perhaps someone who uses SPSS more seriously than I ever have can confirm all of this? I'd certainly be interested in the answer. I'd also be interested in answers for R. MICE is the only strategy that springs to mind.

[later edit]

One possibility is to 'impute everything', even the structural missings that could not have been observed on logical grounds. To make things concrete assume three variables A (true/false), B, and C where B is answered only if A=true and C has missing data.

An imputation strategy that imputes B when A=false is then creating a counterfactual: the value B would have had, if A had been true. Even if this imputed value is ignored in subsequent analysis then in most MI routines both the actual value of A and the counterfactual value of B will be used to impute missing data in C. So it seems to me that the 'impute everything' strategy implicitly assumes that those imputations of C are relevantly similar to the ones that depend on A when A=false but on both A and B when A=true.

This is the thought that motivates by MICE suggestion. A set of hand-written chained imputation equations could presumably be selective about the subset of things it imputed with.

The other approach - the one I think @ttnphns suggests - is to separate the data set into cases where A=false and where A=true, and then do separate imputations on each. This deals with the logical difficulty and involves no counterfactuals, but it also uses slightly less information because values of B where A=true should, at least in theory, be able to inform imputations of C where A=false, but won't in this scheme.

I've always felt this was a rather small price to pay and have used this strategy myself on several occasions (that's an admission rather than an endorsement). However, you say in comments that there are a lot of nested conditionals in the question structure. That would make this strategy less appealing.

Either way, the regressions you finally fit will want to take into account the stratification that the yes/no questions induce, and this seems to be another thorny issue. Perhaps some survey researchers have a standard procedure?

  • $\begingroup$ is it a good idea to set user defined missing value (say, 9999) from the variable view first for the skip questions, and then doing a multiple imputation, so that all the values get imputed (as you mentioned and I also checked, both system missing and user defined missing get imputed)? After that we can recode our data so that each subsequent answers after "no" is set to 9999 again. Is that a good solution? $\endgroup$
    – Blain Waan
    Commented Apr 20, 2013 at 5:10
  • $\begingroup$ I would like to do a regression with the imputed data set. That's why thought I should keep the 9999s. $\endgroup$
    – Blain Waan
    Commented Apr 20, 2013 at 5:15
  • $\begingroup$ @BlainWaan I forgot to say: Always try it and see. The fine details of the imputation strategy may be washed out and give you much the same results whatever you do. Some imputation rather than none is often the biggest difference in practice. $\endgroup$ Commented Apr 20, 2013 at 14:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.