如何将名称为词干+后缀的 SAS 数据集读入 IML?词干作为 SAS 宏变量给出,我打算使用的足够内容是在 IML 中的字符串向量中。
在 RI 中会使用
suffix<-c('s1','s2')
for (s in suffix){
data<-eval(as.name(paste(stem,s,sep='')))
}
如果我有第一个数据集的代码,我可以进行循环。我试过了:
proc iml;
suffices = {'s1','s2'};
call symput('suffix',suffices[1]);
use &stem.&suffix.;
问题是,如果在一个 do-loop 中(并且我在循环名称时需要这个), call symput 并没有真正起作用。在这里我找到了 symget,但是在使用 &stem.symget('suffix') 的上下文中没有结果。
还有其他想法吗?
编辑:我发现了以下相当不雅的解决方案:
proc iml;
%global suff;
suffix={'s1','s2','s3'};
%do ii = 1 %to 3;
call symput('suff',suffix[&ii.]);
<do stuff based on the suffix>
%end;
我仍然不觉得这是一个人应该工作的方式。