Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何使用循环在SAS中创建多个数据集_Loops_Sas_Dataset_Sas Iml - Fatal编程技术网

Loops 如何使用循环在SAS中创建多个数据集

Loops 如何使用循环在SAS中创建多个数据集,loops,sas,dataset,sas-iml,Loops,Sas,Dataset,Sas Iml,我希望通过do循环使用上述代码在SAS中创建多个数据集。但是,我似乎无法使用&i指示器更改每个数据集的名称。有人能帮我修改代码,让我创建多个数据集吗?或者,关于如何通过循环从矩阵创建多个数据集,还有其他选择吗?提前感谢。您不想使用宏变量,而是想使用IML的功能。然而,您将创建大量的数据集 proc iml; use rdata3; read all var _all_ into pp; close rdata3; do i = 1 to 1050; perms = allperm(pp[

我希望通过do循环使用上述代码在SAS中创建多个数据集。但是,我似乎无法使用&i指示器更改每个数据集的名称。有人能帮我修改代码,让我创建多个数据集吗?或者,关于如何通过循环从矩阵创建多个数据集,还有其他选择吗?提前感谢。

您不想使用宏变量,而是想使用IML的功能。然而,您将创建大量的数据集

proc iml;
use rdata3;
read all var _all_ into pp;
close rdata3;
do i = 1 to 1050;
    perms = allperm(pp[i, ]);
    create pp&i from perms[colname= {"Best" "NA1" "NA2" "Worst"}];
    append from perms;
    close pp&i;
end;
您可以向PERMS添加ID变量,并将所有版本的PERMS附加到一个数据集中。我不确定我是否使用了最好的IML技术,我只知道IML足够危险

data rdata3;
   x = 1;
   y = 2;
   a = 4;
   b = 5;
   output;
   output;
   run;
proc iml;
   use rdata3;
   read all var _all_ into pp;
   close rdata3;
   do i = 1 to nrow(pp);
      outname = cats('pp',putn(i,'z5.'));
      perms = allperm(pp[i, ]);
      create (outname) from perms[colname= {"Best" "NA1" "NA2" "Worst"}];
      append from perms;
      close (outname);
      end;
   quit;

您不想使用宏变量,而是想使用IML的功能。然而,您将创建大量的数据集

proc iml;
use rdata3;
read all var _all_ into pp;
close rdata3;
do i = 1 to 1050;
    perms = allperm(pp[i, ]);
    create pp&i from perms[colname= {"Best" "NA1" "NA2" "Worst"}];
    append from perms;
    close pp&i;
end;
您可以向PERMS添加ID变量,并将所有版本的PERMS附加到一个数据集中。我不确定我是否使用了最好的IML技术,我只知道IML足够危险

data rdata3;
   x = 1;
   y = 2;
   a = 4;
   b = 5;
   output;
   output;
   run;
proc iml;
   use rdata3;
   read all var _all_ into pp;
   close rdata3;
   do i = 1 to nrow(pp);
      outname = cats('pp',putn(i,'z5.'));
      perms = allperm(pp[i, ]);
      create (outname) from perms[colname= {"Best" "NA1" "NA2" "Worst"}];
      append from perms;
      close (outname);
      end;
   quit;

我同意数据为空。您可能希望向每一组排列添加一个ID变量,然后编写一个包含所有数据的数据集。然后,您可以通过分组处理来分析数据。我应该使用什么将多个数据集连接到一个数据集中?我认为这是一个更好的主意,谢谢!你能帮我回答我贴的另一个问题吗?我同意你的观点。您可能希望向每一组排列添加一个ID变量,然后编写一个包含所有数据的数据集。然后,您可以通过分组处理来分析数据。我应该使用什么将多个数据集连接到一个数据集中?我认为这是一个更好的主意,谢谢!你能帮我回答我贴的另一个问题吗?