Professional Documents
Culture Documents
data &out;
set %do i=1 %to &nvar;
%let x=%scan(&var,&i);
xx&i %end; ;
run;
%mend;
%macro REDUCT (in=, strates=,out=,mean=,pond=);
proc means data=&in mean nway noprint;
var &mean;
class &strates;
weight &pond;
output out=xx1 mean=;
run;
proc means data=&in sum nway noprint;
var &pond;
class &strates ;
output out=xx2 sum=;
run;
data &out;
merge xx1 xx2;
by &strates;
drop _type_ _freq_;
run;
%mend;
%macro GINI (in=,id=,vargroup=,ngroup=,listmod=,var=);
proc sort data=&in out=z1;
by &var &id ;
run;
/*verif */
%do i=1 %to &ngroup;
%let x=%scan(&listmod,&i);
TOTS&i=SP&i+SM&i;
TOTN&i=NP&i+NM&i;
if groupj="&i" then do;
tots&i=tots&i-revenuj;
totn&i=totn&i-1;
end;
%end;
run;
data z5;
set z4;
%do i=1 %to &ngroup;
delta&i=(NM&i-NP&i)*revenuj+SP&i-SM&i;
d&i=(NM&i)*revenuj-SM&i;
%end;
effj=1;
run;