一部の行を空のままにして(特定の条件が満たされていない場合)、複数の連続する行をグループ化(およびそれらに同じ値を割り当て)しようとしています。
私のデータは、位置 (xy 座標)、それらが測定された日時、および測定間の時間間隔です。どういうわけか単純化すると、次のようになります。
ID X Y Time Span
1 3445 7671 0:00 -
2 3312 7677 4:00 4
3 3309 7680 12:00 8
4 3299 7681 16:00 4
5 3243 7655 20:00 4
6 3222 7612 4:00 8
7 3260 7633 0:00 4
8 3254 7641 8:00 8
9 3230 7612 0:00 16
10 3203 7656 4:00 4
11 3202 7678 8:00 4
12 3159 7609 20:00 12
...
4 時間以内に測定されたすべての一連の場所に値を割り当て、データを次のように表示したいと考えています。
ID X Y Time Span Sequence
1 3445 7671 0:00 - -
2 3312 7677 4:00 4 1
3 3309 7680 12:00 8 NA
4 3299 7681 16:00 4 2
5 3243 7655 20:00 4 2
6 3222 7612 4:00 8 NA
7 3260 7633 0:00 4 3
8 3254 7641 8:00 8 NA
9 3230 7612 0:00 16 NA
10 3203 7656 4:00 4 4
11 3202 7678 8:00 4 4
12 3159 7609 20:00 12 NA
次のようなループ「for」と「ifelse」条件を使用して、いくつかのアルゴリズムを試しました。
Sequence <- for (i in 1:max(ID)) {
ifelse (Span <= 4, i+1, "NA")
}
運がなければ。私の試みが間違っていることはわかっていますが、私のプログラミング スキルは非常に基本的なものであり、Web で同様の問題を見つけたことはありません。
どんなアイデアでも大歓迎です!