簡體   English   中英

當我知道某個時間間隔的開始和結束記錄時,該如何識別屬於該時間間隔的記錄? (右)

[英]How to identify the records that belong to a certain time interval when I know the start and end records of that interval? (R)

所以,這是我的問題。 作為論文的一部分,我有一個一直跟蹤着放射性標記的蜂鳥位置的數據集。 就像您想象的那樣,它們飛得很快,所以當我不知道它們在哪里之前,有時會有間隔,直到我最終再次找到它們。 現在,我試圖確定連續跟蹤鳥類的區域(即“失落”時間段之間的間隔)。

    ID  Type        TimeStart   TimeEnd     Limiter Starter Ender
    1   Observed    6:45:00     6:45:00     NO      Start   End 
    2   Lost        6:45:00     5:31:00     YES     NO      NO  
    3   Observed    5:31:00     5:31:00     NO      Start   NO  
    4   Observed    9:48:00     9:48:00     NO      NO      NO  
    5   Observed    10:02:00    10:02:00    NO      NO      NO  
    6   Observed    10:18:00    10:18:00    NO      NO      NO  
    7   Observed    11:00:00    11:00:00    NO      NO      NO  
    8   Observed    13:15:00    13:15:00    NO      NO      NO  
    9   Observed    13:34:00    13:34:00    NO      NO      NO  
    10  Observed    13:43:00    13:43:00    NO      NO      NO  
    11  Observed    13:52:00    13:52:00    NO      NO      NO  
    12  Observed    14:25:00    14:25:00    NO      NO      NO  
    13  Observed    14:46:00    14:46:00    NO      NO      End 
    14  Lost        14:46:00    10:47:00    YES     NO      NO  
    15  Observed    10:47:00    10:47:00    NO      Start   NO  
    16  Observed    10:57:00    11:00:00    NO      NO      NO  
    17  Observed    11:10:00    11:10:00    NO      NO      NO  
    18  Observed    11:19:00    11:27:55    NO      NO      NO  
    19  Observed    11:28:05    11:32:00    NO      NO      NO  
    20  Observed    11:45:00    12:09:00    NO      NO      NO  
    21  Observed    11:51:00    11:51:00    NO      NO      NO  
    22  Observed    12:11:00    12:11:00    NO      NO      NO  
    23  Observed    13:15:00    13:15:00    NO      NO      End 
    24  Lost        13:15:00    7:53:00     YES     NO      NO  
    25  Observed    7:53:00     7:53:00     NO      Start   NO  
    26  Observed    8:48:00     8:48:00     NO      NO      NO  
    27  Observed    9:25:00     9:25:00     NO      NO      NO  
    28  Observed    9:26:00     9:26:00     NO      NO      NO  
    29  Observed    9:32:00     9:33:25     NO      NO      NO  
    30  Observed    9:33:35     9:33:35     NO      NO      NO  
    31  Observed    9:42:00     9:42:00     NO      NO      NO  
    32  Observed    9:44:00     9:44:00     NO      NO      NO  
    33  Observed    9:48:00     9:48:00     NO      NO      NO  
    34  Observed    9:48:30     9:48:30     NO      NO      NO  
    35  Observed    9:51:00     9:51:00     NO      NO      NO  
    36  Observed    9:54:00         9:54:00     NO      NO      NO  
    37  Observed    9:55:00         9:55:00     NO      NO      NO  
    38  Observed    9:57:00     10:01:00    NO      NO      NO  
    39  Observed    10:02:00    10:02:00    NO      NO      NO  
    40  Observed    10:04:00    10:04:00    NO      NO      NO  
    41  Observed    10:06:00    10:06:00    NO      NO      NO  
    42  Observed    10:20:00    10:33:00    NO      NO      NO  
    43  Observed    10:34:00    10:34:00    NO      NO      NO  
    44  Observed    10:39:00    10:39:00    NO      NO      End 

注意:如果同一行中同時存在“開始”和“結束”,這是因為非丟失時間段僅包含該記錄。

我能夠識別開始或結束這些“非丟失”期間的記錄(在“啟動器”和“結束器”列下),但是現在我希望能夠通過給它們提供唯一的標識符來識別這些期間(時段A ,B,C或1,2,3等)。 理想情況下,標識符的名稱應為該時間段的起點名稱(即ID [Starter ==” Start”])

我正在尋找這樣的東西:

    ID  Type        TimeStart   TimeEnd     Limiter Starter Ender   Period

    1   Observed    6:45:00     6:45:00     NO      Start   End     1
    2   Lost        6:45:00     5:31:00     YES     NO      NO      Lost    
    3   Observed    5:31:00     5:31:00     NO      Start   NO      3
    4   Observed    9:48:00     9:48:00     NO      NO      NO      3
    5   Observed    10:02:00    10:02:00    NO      NO      NO      3
    6   Observed    10:18:00    10:18:00    NO      NO      NO      3
    7   Observed    11:00:00    11:00:00    NO      NO      NO      3
    8   Observed    13:15:00    13:15:00    NO      NO      NO      3
    9   Observed    13:34:00    13:34:00    NO      NO      NO      3
    10  Observed    13:43:00    13:43:00    NO      NO      NO      3
    11  Observed    13:52:00    13:52:00    NO      NO      NO      3
    12  Observed    14:25:00    14:25:00    NO      NO      NO      3
    13  Observed    14:46:00    14:46:00    NO      NO      End     3
    14  Lost        14:46:00    10:47:00    YES     NO      NO      Lost    
    15  Observed    10:47:00    10:47:00    NO      Start   NO      15
    16  Observed    10:57:00    11:00:00    NO      NO      NO      15
    17  Observed    11:10:00    11:10:00    NO      NO      NO      15
    18  Observed    11:19:00    11:27:55    NO      NO      NO      15
    19  Observed    11:28:05    11:32:00    NO      NO      NO      15
    20  Observed    11:45:00    12:09:00    NO      NO      NO      15
    21  Observed    11:51:00    11:51:00    NO      NO      NO      15
    22  Observed    12:11:00    12:11:00    NO      NO      NO      15
    23  Observed    13:15:00    13:15:00    NO      NO      End     15
    24  Lost        13:15:00    7:53:00     YES     NO      NO      Lost    

在R中這樣做太難了嗎?

謝謝!

> d <- data.frame(Limiter = rep("NO", 44), Starter = rep("NO", 44), Ender = rep("NO", 44), stringsAsFactors = FALSE)
> d$Starter[c(1, 3, 15, 25)] <- "Start"
> d$Ender[c(1, 13, 23, 44)] <- "End"
> d$Limiter[c(2, 14, 24)] <- "Yes"
> d$Period <- ifelse(d$Limiter == "Yes", "Lost", which(d$Starter == "Start")[cumsum(d$Starter == "Start")])
> d
       Limiter Starter Ender Period
1       NO   Start   End      1
2      Yes      NO    NO   Lost
3       NO   Start    NO      3
4       NO      NO    NO      3
5       NO      NO    NO      3
6       NO      NO    NO      3
7       NO      NO    NO      3
8       NO      NO    NO      3
9       NO      NO    NO      3
10      NO      NO    NO      3
11      NO      NO    NO      3
12      NO      NO    NO      3
13      NO      NO   End      3
14     Yes      NO    NO   Lost
15      NO   Start    NO     15
16      NO      NO    NO     15
17      NO      NO    NO     15
18      NO      NO    NO     15
19      NO      NO    NO     15
20      NO      NO    NO     15
21      NO      NO    NO     15
22      NO      NO    NO     15
23      NO      NO   End     15
24     Yes      NO    NO   Lost
25      NO   Start    NO     25
26      NO      NO    NO     25
27      NO      NO    NO     25
28      NO      NO    NO     25
29      NO      NO    NO     25
30      NO      NO    NO     25
31      NO      NO    NO     25
32      NO      NO    NO     25
33      NO      NO    NO     25
34      NO      NO    NO     25
35      NO      NO    NO     25
36      NO      NO    NO     25
37      NO      NO    NO     25
38      NO      NO    NO     25
39      NO      NO    NO     25
40      NO      NO    NO     25
41      NO      NO    NO     25
42      NO      NO    NO     25
43      NO      NO    NO     25
44      NO      NO   End     25

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM