Steve, do you think the following syntax looks right? I only want to impute for the variable DXCCS1, and want to use the other variables to help inform that process. DXCCS1 right now has about 40 levels. The dataset is huge--2.4 million records. proc mi data=all out= outall nimpute=10; class dxgrp ccsproc female discharge_loc; fcs nbiter=20 discrim(dxgrp) ; var dxgrp ccsproc newlos female discharge_loc age; /* newlos and age continuous*/ run; even with the large N ,it could still be a sparsity issue I guess, with some levels of CCSPROC (primary procedure, having 200 or so levels) having very little data. BELOW are the messages I get from SAS when running that code: NOTE: The FCS statement is experimental in this release. WARNING: The covariates are not specified in an FCS discriminant method for variable dxgrp, only remaining continuous variables will be used as covariates. WARNING: The covariates are not specified in an FCS discriminant method for variable ccsproc, only remaining continuous variables will be used as covariates. WARNING: The covariates are not specified in an FCS discriminant method for variable FEMALE, only remaining continuous variables will be used as covariates. WARNING: The covariates are not specified in an FCS discriminant method for variable discharge_loc, only remaining continuous variables will be used as covariates. WARNING: An effect for variable newlos is a linear combination of other effects. The coefficient of the effect will be set to zero in the imputation. ERROR: Floating Point Zero Divide. ERROR: Termination due to Floating Point Exception thanks for any feedback. Julia
... View more