Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/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
如何使用迭代方法在SAS中创建循环并打印结果_Sas_Ssas_Sas Macro - Fatal编程技术网

如何使用迭代方法在SAS中创建循环并打印结果

如何使用迭代方法在SAS中创建循环并打印结果,sas,ssas,sas-macro,Sas,Ssas,Sas Macro,我想在SAS中进行迭代循环,计算每个id的平均值,我的数据如下: 在SAS数据步骤中,使用do循环进行迭代处理 然而,要获得每个想法的平均值,SQL通常要简单得多 proc sql; select id, mean(value) from data group by id ; quit; 您还可以用meanvalue=my_mean替换varmean首先,sas和SSA是完全不同的东西。然后,在这个站点上,您需要提供示例数据、所需输出,并用代码向我们展示您已经尝试过的内容。示例

我想在SAS中进行迭代循环,计算每个id的平均值,我的数据如下:

在SAS数据步骤中,使用do循环进行迭代处理

然而,要获得每个想法的平均值,SQL通常要简单得多

proc sql;
  select id, mean(value)
  from data
  group by id
  ;
quit;

您还可以用meanvalue=my_mean替换varmean

首先,sas和SSA是完全不同的东西。然后,在这个站点上,您需要提供示例数据、所需输出,并用代码向我们展示您已经尝试过的内容。示例数据最好以文本形式提供,可以复制粘贴,而不是图片链接。这非常有用,谢谢。但是我仍然在寻找do循环。你特别是在这个上下文中寻找do循环吗?还是一般?我不认为有理由使用do循环来解决每个id的平均问题。如果您想了解循环在SAS中的工作原理,请阅读我链接的文章。谢谢。在这个问题中,我提供了一个数据样本。我有上千条记录,我需要做一些运算,比如不同记录的总和和平均值。这就是为什么我问这个循环。你能帮我回答这个问题吗?你发了吗?我看了一下,但问题的表述非常糟糕。这篇文章应该进行大量编辑,以使其更加清晰,提供样本数据,期望的输出,等等…谢谢,这是一件很酷的事情。进程太慢,因为我有数千条记录。@user2975180您可以使用data=begin noprint;输出=mean_sas_data命令。这对于proc sql中数据集太大的情况非常有用。
data begin;
    input id value;
    cards;
    1 10 
    1 20 
    1 5 
    2 9
    2 6
    3 50
    3 20 
    3 44
    3 79
; run;

proc sort data=begin; by id; run; /*This is not needed in our case, but it is good practice to always sort in SAS.*/

proc means data=begin; 
    by id;  /*These are variables you count by*/
    var value; /*The value you count the mean by. You also get additional values. */
run;