Macro SAS pour calculer le D de Cohen
%macro D_COHEN(fichier=, var_class= , var= );
ods output ttests=ttest_proc(drop=method) statistics=stat_desc1 equality=equal1(drop=method);
proc ttest data= &fichier;
class &var_class;
var &var;
run;
proc sort data=ttest_proc;
by variable;
run;
proc sort data=equal1;
by variable;
run;
data d_cohen;
merge ttest_proc equal1;
by variable;
if Probf LT 0.05 then do;
if variances=’Equal’ then delete;
end;
if Probf GE 0.05 then do;
if variances=’Unequal’ then delete;
end;
D_COHEN=tvalue*(numdf+dendf+2)/(sqrt(DF)*sqrt((numdf+1)*dendf+1));
run;
proc print data=d_cohen;
var variable probt d_cohen;
run;
%mend;
Par Simon Olivier