Похоже, что вы просто случайно вменяете пропущенные значения на основе факторов, которые вы наблюдали в наборе данных.Морщина может заключаться в том, чтобы решить, хотите ли вы, чтобы эти вменения зависели от частоты, с которой они встречаются в наборе данных.Например, если у вас есть 80% 1 в не пропущенных данных, вы хотите сгенерировать 1 с вероятностью 0,8 в пропущенных данных?
Возможно, вы захотите прочитать о PROC SURVEYSELECT, который хорош для моделированиячерпает из выборки наблюдаемых данных.Может потребоваться сначала перенести набор данных во фрейм данных фиксированной ширины, используя PROC TRANSPOSE, чтобы он был длинным, а не широким.Тогда у вас будет только один столбец с пропущенными данными.