在 do 循环迭代 SAS 中创建变量

Creating variables in do loop iteration SAS

我是 SAS 的新手,我正在尝试拆分列并为拆分的结果指定新名称。 我希望实现的目标:例如我有一个 AV 列。我的代码需要拆分它并调用两个新列 FROM_AV 和 TO_AV。我尝试了多种选择,但创建新名称仍然出错。一世。如果有人能帮助我就太好了。

set work.transposed;
array aresplit AV TD ER PT;
do i=1 to 4;
FROM&aresplit[i]= scan(aresplit[i],1,',');
TO&aresplit[i]= scan(aresplit[i],2,','); 
end;
run;```

要从 AV 制作 FROM_AV 和 TO_AV,您可以使用如下代码:

FROM_AV = scan(AV,1,',');
TO_AV = scan(AV,2,','); 

如果您想使用数组为四个变量复制它,那么您需要三个数组。一个用于输入变量列表,两个用于输出变量列表。 (或者输出数组可以是二维的)。

array in AV TD ER PT;
array out1  FROM_AV FROM_TD FROM_ER FROM_PT;
array out2  TO_AV TO_TD TO_ER TO_PT;
do index=1 to dim(in);
   out1[index] = scan(in[index],1,',');
   out2[index] = scan(in[index],2,',');
end;