0

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
4

2 に答える 2