基于行与行之间的时间戳值的差异将二进制值分配给行

时间:2015-10-20 09:26:40

标签: r datetime timestamp calculated-columns

我想创建一个新的二进制列,它表示自上一点以来已经过了多长时间。如果自前一个点以来已经小于7000秒,我需要一个行值1,如果它比前一个点以来已经超过7000秒,则需要值0。每行都有一个POSIXct形式的日期时间戳,但是我创建了一个秒数向量,如果它更容易工作。

我的数据如下:

structure(list(datetime = c("2015/1/06 17:51:17", "2015/1/06 19:51:17", 
                            "2015/1/06 21:46:38", "2015/1/06 21:51:18", "2015/1/06 21:56:26", 
                            "2015/1/06 22:1:27", "2015/1/06 22:4:27", "2015/1/06 22:7:27", 
                            "2015/1/06 22:10:27", "2015/1/06 22:15:31", "2015/1/06 22:18:30", 
                            "2015/1/06 22:21:30", "2015/1/06 22:24:39", "2015/1/06 22:27:38", 
                            "2015/1/06 22:31:27", "2015/1/06 22:34:54", "2015/1/06 22:38:57", 
                            "2015/1/06 22:43:6", "2015/1/06 22:48:14", "2015/1/06 22:53:16"
), secs = c(1420566677, 1420573877, 1420580798, 1420581078, 1420581386, 
            1420581687, 1420581867, 1420582047, 1420582227, 1420582531, 1420582710, 
            1420582890, 1420583079, 1420583258, 1420583487, 1420583694, 1420583937, 
            1420584186, 1420584494, 1420584796), lat = c(57.601675, 57.601591, 
                                                         57.602044, 57.603132, 57.6053, 57.608035, 57.609892, 57.612037, 
                                                         57.613997, 57.615203, 57.617153, 57.618842, 57.62074, 57.621673, 
                                                         57.623699, 57.625592, 57.628001, 57.630123, 57.633267, 57.634734
            ), lon = c(-4.034009, -4.033829, -4.036087, -4.039707, -4.043336, 
                       -4.046311, -4.047127, -4.047383, -4.047484, -4.047528, -4.046922, 
                       -4.046935, -4.046753, -4.04651, -4.045886, -4.045272, -4.044616, 
                       -4.044387, -4.044233, -4.042613)), .Names = c("datetime", "secs", 
                                                                     "lat", "lon"), row.names = c(NA, 20L), class = "data.frame")

0 个答案:

没有答案