SASデータセットからIMLへ,とその逆は,以下のようにできます.
************************************************************
SASデータセットとIML行列変数との受け渡し
090604 翔
************************************************************;
options nocenter;
data ds;
do i=1 to 10;
x=ranuni(0);
y=x*2;
output;
end;
run;
proc iml;
use ds;
read all into matrix;
close ds;
print matrix;
/*
MATRIX
1 0.8356813 1.6713626
2 0.6257031 1.2514063
3 0.9069313 1.8138625
4 0.4098095 0.8196189
5 0.7313018 1.4626035
6 0.0160752 0.0321504
7 0.9751172 1.9502344
8 0.3912675 0.7825351
9 0.2343175 0.468635
10 0.0731633 0.1463267
*/
create ds2 from matrix;
append from matrix;
close ds2;
quit;
proc print data=ds2;run;
/*
OBS COL1 COL2 COL3
1 1 0.83568 1.67136
2 2 0.62570 1.25141
3 3 0.90693 1.81386
4 4 0.40981 0.81962
5 5 0.73130 1.46260
6 6 0.01608 0.03215
7 7 0.97512 1.95023
8 8 0.39127 0.78254
9 9 0.23432 0.46863
10 10 0.07316 0.14633
*/