我有一个包含一列(市)表1,我有第二个表(表2),有两列(市,距离),Do循环和if语句在PROC IML
我想创建一个第三表,表3,该表包含两列(城市,距离),表3中的城市将来自表1中的城市列,距离将成为表2中的对应距离。
我想这样做基于乔的建议,这一点使用PROC IML这就是我。
proc iml;
use Table1;
read all var _CHAR_ into Var2 ;
use Table2;
read all var _NUM_ into Var4;
read all var _CHAR_ into Var5;
do i=1 to nrow(Var2);
do j=1 to nrow(Var5);
if Var2[i,1] = Var5[j,1] then
x[i] = Var4[i];
end;
create Table3 from x;
append from x;
close Table3 ;
quit;
我得到一个错误,矩阵x没有被设置为一个值。有人可以帮我在这里。提前致谢。
当你提到nexted做循环时,我得到了一个大局,我将所有与条件语句混淆在内部循环和内部循环之外。 – bison2178