%macro robust_hubert(data, dep, predictors, conlimit, iterations ); data &data; set &data; _w1_ = 1; run; proc reg data=&data; model &dep = &predictors; output out=_tempout_ r=r; run; quit; %global mad; %global ind; %global sumdw; %let count = 1; %mad(_tempout_, r) data _tempout_; set _tempout_; u = r/&mad; _w2_ = .; if abs(u) LE 1.345 then _w2_ = 1; else _w2_ = 1.345/abs(u) ; difw = abs(_w1_ - _w2_); run; proc print data = _tempout_ (obs=10); var r u _w2_; run; proc sql noprint; select sum(difw) into :sumdw from _tempout_; quit; data _null_; x1 = &sumdw+0; x2 = &conlimit+0; count= &count+0; iterations = &iterations + 0; indicator = (x1>x2) and (countx2) and (count