我試圖將幾個連續的行分組(並賦予它們相同的值),同時將某些行留空(當某些條件未滿足時)。將序列中的值賦給一組連續的行,留下一些行爲空
我的數據是位置(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
我試過幾種算法用循環「爲」加「ifelse」條件,如:
Sequence <- for (i in 1:max(ID)) {
ifelse (Span <= 4, i+1, "NA")
}
沒有任何的運氣。我知道我的嘗試是不正確的,但是我的編程技巧是非常基本的,並且我還沒有發現任何類似的問題。
任何想法將不勝感激!
你的僞代碼表示,如果'跨度<= 4,'Sequence'應該是'我+ 1'其中'i'是行數。然而,在你想要的輸出中,你有多行具有相同的「序列」值? (例如具有'序列'2的兩行)。那麼,你想如何爲行分配'Sequence'值? –