如何对 sas 中的连续整数进行分组?
How do I group consecutive integers in sas?
我想对 sas 中的连续整数进行分组。
data h;
input integer temperature;
cards;
1 33
2 33
3 34
5 35
6 37
9 33
10 34
;
run;
我希望我的输出看起来像这样
1 33 1
2 33 1
3 34 1
5 35 2
6 37 2
9 33 3
10 34 3
提前感谢您的帮助。
查看 DIF 和保留函数。请注意,您的条件和示例不匹配。你说连续但似乎暗示增加0或1。
DIF 计算当前和之前观察值之间的差异。 RETAIN 跨行保存一个值,直到它被显式更改。
Data want;
Set have;
Retain group 0;
Temp_dif = dif(temp);
If temp_dif > 1 then group + 1;
Run;
编辑:
Data want;
Set have;
Retain group 0;
INT_dif = dif(integer);
If int_dif > 1 then group + 1;
Run;
我想对 sas 中的连续整数进行分组。
data h;
input integer temperature;
cards;
1 33
2 33
3 34
5 35
6 37
9 33
10 34
;
run;
我希望我的输出看起来像这样
1 33 1
2 33 1
3 34 1
5 35 2
6 37 2
9 33 3
10 34 3
提前感谢您的帮助。
查看 DIF 和保留函数。请注意,您的条件和示例不匹配。你说连续但似乎暗示增加0或1。
DIF 计算当前和之前观察值之间的差异。 RETAIN 跨行保存一个值,直到它被显式更改。
Data want;
Set have;
Retain group 0;
Temp_dif = dif(temp);
If temp_dif > 1 then group + 1;
Run;
编辑:
Data want;
Set have;
Retain group 0;
INT_dif = dif(integer);
If int_dif > 1 then group + 1;
Run;