libname out'.'; options ls=80 nocenter mprint; libname in spss 'C:\Documents and Settings\gse-it\My Documents\My Webs\meta-nrp2.por'; data xnew; set in._first_; proc sort; by id; run; proc contents data=xnew; run; %macro divvy; data out1 out2 out3 out4 out5 out6 out7 out8 out9 out10 out11 out12 out13 out14 out15 out16 out17 out18 out19 out20 out21 out22 out23 out24 out25 out26 out27 out28 out29 out30 out31 out32 out33 out34 out35 out36 out37 out38 out39 out40; set xnew; %do k = 1 %to 40; if id = &k then output out&k; %end; run; %mend; %divvy; options nomprint; %MACRO bootnrp(weight); %DO i = 1 %to 100; data choose ; %do k=1 %to 40; ss = 1 + int(40*ranuni(-1)); call symput('L01', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L02', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L03', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L04', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L05', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L06', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L07', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L08', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L09', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L10', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L11', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L12', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L13', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L14', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L15', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L16', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L17', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L18', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L19', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L20', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L21', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L22', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L23', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L24', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L25', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L26', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L27', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L28', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L29', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L30', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L31', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L32', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L33', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L34', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L35', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L36', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L37', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L38', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L39', put(left(ss), 2.)); ss = 1 + int(40*ranuni(-1)); call symput('L40', put(left(ss), 2.)); %end; if _n_=1 then output; run; data analysis (keep = id dpool wgt1 wgt3 tp2 tutor tl_2 cl_2); if _n_ = 1 then set choose; set out&L01 out&L02 out&L03 out&L04 out&L05 out&L06 out&L07 out&L08 out&L09 out&L10 out&L11 out&L12 out&L13 out&L14 out&L15 out&L16 out&L17 out&L18 out&L19 out&L20 out&L21 out&L22 out&L23 out&L24 out&L25 out&L26 out&L27 out&L28 out&L29 out&L30 out&L31 out&L32 out&L33 out&L34 out&L35 out&L36 out&L37 out&L38 out&L39 out&L40; run; PROC REG DATA=analysis OUTEST=out(KEEP=intercept tp2 tutor cl_2 tl_2); MODEL dpool = tp2 tutor cl_2 tl_2; weight &weight; RUN; %if &i = 1 %then %do; data param2; set out; run; %end; %if &i > 1 %then %do; proc append base=param2 data=out force; run; %end; %END; %MEND; %bootnrp(wgt3); proc print data=param2; run; proc univariate data=param2; run;