2016-09-28 8 views
0

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 

おかげのようになりたいと思います。

+0

ヒント: 'RETAIN'。 –

+0

私はretainの完全な概念を理解できませんでした。 – CHAa

+0

例がありますか?コードですか? – CHAa

答えて

1

DIFと保持機能を見てください。条件と例が一致しないことに注意してください。あなたは連続していますが、0または1の増加を暗示しているようです。

DIFは、現在の観察と以前の観察の差を計算します。 RETAINは明示的に変更されるまで値を保持します。

Data want; 
Set have; 
Retain group 0; 
Temp_dif = dif(temp); 
If temp_dif > 1 then group + 1; 
Run; 

EDIT:

Data want; 
Set have; 
Retain group 0; 
INT_dif = dif(integer); 
If int_dif > 1 then group + 1; 
Run; 
+0

ありがとうございます、別の質問があります。 – CHAa

+0

'group +(temp_dif> 1);'おそらく、 > 1); ')、しかし、この方法はおそらく初心者にとっては良いでしょう。 – Joe

+0

また、グループは「温度」ではなく「整数」に基づいているため、温度を見ると明らかに不一致になります。 – Joe

関連する問題