libname x v9 'c:\temp';
data have;
set x.rand_icd(keep=diagnosis--ediag5);
run;
proc iml;
use have;
read all var _char_ into x[c=vname];
x=substr(x,1,3);
levels=unique(x);
yn=j(nrow(x),ncol(levels),.);
do i=1 to nrow(x);
yn[i,]=element(levels,x[i,]);
end;
create yn from yn[c=levels];
append from yn;
close;
quit;
data want;
merge x.rand_icd yn;
run;
... View more