%macro mad( data , r ); /* data is the output from the reg */
proc means data = &data median noprint;
 var &r;
 output out = _temp_ median = median;
run;
data _null_;
   set  _temp_;
   if _n_ =1 then
   call symput('median', median);
run;
data _temp_;
  set &data;
  newr = abs(&r - &median);
run;
proc means data= _temp_ median noprint;
  var newr;
  output out=_temp1_ median=median;
run;
data _null_;
  set _temp1_;
  call symput('mad', median/.6745);
run;
%mend;

