/******************* missmech.do Example file demonstrating importance of mechanism for missing values (MAR vs. MNAR) Written by Russell Dimond, Summer 2012 for the Social Science Computing Cooperative at UW-Madison ********************/ clear all set more off // generate data set seed 88 set obs 1000 gen x=invnorm(runiform()) gen y=x+invnorm(runiform()) preserve // drop values of x // probability of x being missing 10% // data is MCAR replace x=. if runiform()<.1 // complete cases analysis reg y x // multiple imputation mi set wide mi register imputed x mi register regular y mi impute chained (regress) x=y, add(10) mi estimate: reg y x restore preserve // drop values of x // probability of x being missing depends on y (observed) // data is MAR replace x=. if runiform()