SAS:如何使用循环替换一堆数据的值?

时间:2018-09-21 02:45:39

标签: sas

我一直试图将一堆数据替换为不同的格式。 例如,名为Week的变量从值1124到值1175。我想将此值从1开始更改。

也就是说,

Week     Week
1124       1
1125       2

如果这是R,我将使用for循环并将其存储回一周以替换它们,但是我不确定如何在SAS中编写类似的东西。我得到的唯一方法是:

if Week = 1124 then Week = 1;
and so forth.
run;

这效率很低,因为我必须写30多次。有没有有效的方法来解决这个问题?换句话说,有没有类似于for循环的东西?

1 个答案:

答案 0 :(得分:0)

SAS DATA步骤是一个隐式循环-处理数据集中的每一行,直到没有更多行为止。使用简单的算法来转换week变量的值。

data want;
  set have;
  week = week - 1123;
run;