Documentation Example 3 for PROC SURVEYIMPUTE
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: SVIMPEX3 */
/* TITLE: Documentation Example 3 for PROC SURVEYIMPUTE */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: FEFI, NHANES, BRR, REPWEIGHTS */
/* PROCS: SURVEYIMPUTE, SURVEYFREQ */
/* DATA: NHANES III */
/* URL: http://www.cdc.gov/nchs/nhanes/nh3data.htm#7a */
/* SUPPORT: Pushpal Mukhopadhyay UPDATE: February 20, 2015 */
/* REF: SURVEYIMPUTE, Example 3 */
/* MISC: */
/****************************************************************/
/*--Create education levels, imputation cells and
assign . to missing items --*/
data Smoke; set Smoke;
if HFA7 <=8 then Education='Elementary ';
if HFA7 > 8 and HFA7 <= 12 then Education='High School';
if HFA7 > 12 and HFA7 <= 17 then Education='College ';
if HFA7 > 17 then Education='Unknown ';
if DMARETHN = 1 & HSSEX = 1 then ImputationCells=1;
if DMARETHN = 1 & HSSEX = 2 then ImputationCells=2;
if DMARETHN = 2 & HSSEX = 1 then ImputationCells=3;
if DMARETHN = 2 & HSSEX = 2 then ImputationCells=4;
if DMARETHN = 3 & HSSEX = 1 then ImputationCells=5;
if DMARETHN = 3 & HSSEX = 2 then ImputationCells=6;
if DMARETHN = 4 then ImputationCells=7;
if HFF1IF = 2 then HFF1MI = .;
if HAN6SRIF = 2 then HAN6SRMI = .;
if HAR3RIF = 2 then HAR3RMI = .;
if HAT28IF = 2 then HAT28MI = .;
run;
proc surveyimpute data=Smoke method=FEFI varmethod=BRR;
weight wtpfqx6;
repweights wtpqrp:;
id seqn;
class hff1mi han6srmi har3rmi hat28mi;
var hff1mi han6srmi har3rmi hat28mi;
cells ImputationCells;
output out=SmokeImputed;
run;
proc surveyfreq data=SmokeImputed varmethod=brr(fay=0.3) varheader=label;
weight ImpWt;
repweights ImpRepWt_:;
table HFF1MI*HAR3RMI;
table Education*HAT28MI / row nototal nofreq nowt;
run;