我有这样的数据集
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
谢谢!
答案 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;