SAS ID增加2

时间:2013-12-05 18:33:47

标签: dataset sas

我有这样的数据集

    data ID;
         input num;
         datalines;
         1
         1
         2
         3
         4
         4
    ;

我想创建另一个变量,以2的增量对它们进行分组:

    num   id
    1      1
    1      1
    2      1
    3      2
    4      2
    4      2

谢谢!

2 个答案:

答案 0 :(得分:0)

如果他们真的是1-2-3-4,那么你可以使用MOD:

data want;
set have;
id=mod(num,2)+1;
run;
如果你想以1开始,请

*或减去2-mod(num,2);

如果它们不是真正的1-2-3-4,那么您可以使用MOD(iter)而不是mod(num)if first.num then iter+1;来创建1-2-3的迭代器-4。

答案 1 :(得分:0)

对于每个新num,您可以使用二进制变量将其值从1更改为0或从0更改为1;

data result;
    set id;
    by num;
    retain incr 0;
    if FIRST.num then do;
        incr=not incr;
        id+incr;
    end;
    drop incr;
run;