2 つの変数を持つデータセットがあります。1 つはグループ化変数で、もう 1 つは値です。データは、各グループ内の値でソートされます。値変数を各グループ内の係数に分割し、diff(10) の間隔よりも小さくしたいと考えています。つまり、diff(val)>=10 の場合、新しいレベルが作成されます。以下はデモ データです。ここnewgrp
に、必要な新しい変数があります。たぶんfilter()
ここで望まれていますが、私はかなり長い間夢中になっています。何かご意見は?
grp val newgrp
a 101 1
a 101 1
a 102 1
a 110 1
a 111 2 <-- a new level is created since 111 - 101 > 9
a 112 2
a 148 3 <-- a new level is created sine 152 - 148 > 9,
a 157 3
a 158 4 <-- a new level is created since 158 - 148>9
b 8 1 <-- levels start over for group b
b 9 1
b 12 1
b 17 1
b 18 2