/******************************************************************************
 * Programme : Prueba de Permutación (Aleatorización) para la comparación de medias
 * Reference : PRUEBAC7EC
 * Source    : https://www.wearecas.eu/en/sampleCode/PRUEBAC7EC
 ******************************************************************************/

/* --- BLOC 1 --- */
data discriminate;
	input Status Age;

/* Status = 0 = Fired
 Status = 1 = Not Fired */

datalines;
0 34
0 37
...
1 54
;
run;

/* --- BLOC 2 --- */
proc ttest data=discriminate;
	class Status;
	*may need to convert School to numeric;
	var Age;
run;

/* --- BLOC 3 --- */
ods output off;
ods exclude all;
proc iml ;
	use discriminate;
	read all var{Status Age} into x;
	p=t(ranperm(x[, 2], 1000));
	paf=x[, 1]||p;
	create newds from paf;
	append from paf;
	quit;

/* --- BLOC 4 --- */
ods output conflimits=diff;

proc ttest data=newds plots=none;
	class col1;
	var col2 -  col1001;
run;

ods output on;
ods exclude none;

/* --- BLOC 5 --- */
proc univariate data=diff;
	where method="Pooled";
	var mean;
	histogram mean;
run;

/* --- BLOC 6 --- */
data numdiffs;
	set diff;
	where method="Pooled";

	if abs(mean) >=1.9238;
run;

/* --- BLOC 7 --- */
proc print data=numdiffs;
	where method="Pooled";
run;

