编号数据矩阵的行

时间:2015-11-11 08:03:27

标签: sas

我正在使用SAS,但如果你用R或一般算法回答我的问题,我就可以管理。我有一个数据集,其中前4行是“第1天”,接下来的4行是“第2天”,依此类推,直到第5天(短文件,但如果它很长,我将需要你的回答)。我每天都包括4行,添加一个新列,一个新变量,其中前两行为“1”,后两行为“2”。因此,在我的情况下,行1,2,5,6,9,10,13,14,17,18编码为1,其他2.我可以手动执行,但如果我的文件会变大,它赢了不行。你会怎么做?谢谢!

2 个答案:

答案 0 :(得分:2)

由于您要按4条记录分组,您可以取每条记录的观察数,并将其除以4.

所有可能的值将以.25,.50,.75或.00结尾。

因此,您可以稍后使用scan()函数来单独获取十进制值。

如果是25或50则指定1,否则指定2.

希望它有所帮助。

答案 1 :(得分:0)

在SAS中,您可以在SET语句周围使用DO循环,以便生成所需的任何模式。因此,要添加一个名为NEW_VAR的新变量,其值将是重复序列1,1,2,2,您可以使用以下代码:

data want ;
   do new_var=1,1,2,2 ;
     set have;
     output;
   end;
run;
相关问题