You want this ?
data help;
input modelstep var1 $ var2 $ var3 $ var4 $ var5 $ outcome auc;
datalines;
0 v1 v2 v3 v4 v5 1 0.003
1 v1 v2 v3 . v5 1 0.004
2 v1 v2 v3 . . 1 0.007
3 . v2 v3 . . 1 0.01
4 . . v3 . . 1 0.02
0 v1 v2 . v4 v5 2 0.005
1 v1 . . v4 v5 2 0.006
2 v1 . . . v5 2 0.02
3 v1 . . . . 2 0.03
;
run;
data want;
set help;
lag_auc1=lag(auc);
lag_auc2=lag2(auc);
lag_auc3=lag3(auc);
lag_auc4=lag4(auc);
dif_auc1=dif(auc);
dif_auc2=dif2(auc);
dif_auc3=dif3(auc);
dif_auc4=dif4(auc);
if outcome ne lag(outcome) then call missing(lag_auc1,dif_auc1);
if outcome ne lag2(outcome) then call missing(lag_auc2,dif_auc2);
if outcome ne lag3(outcome) then call missing(lag_auc3,dif_auc3);
if outcome ne lag4(outcome) then call missing(lag_auc4,dif_auc4);
lag_modelstep=lag(modelstep);
if round(dif_auc1,1e-6) ne 0.01 or outcome ne lag(outcome) then call missing(lag_modelstep);
run;
... View more