繁体   English   中英

如何计算来自不同列的两个连续行之间的时间差?

[英]How can the time difference between two consecutive rows from different columns be calculated?

数据示例

n1 <- as.POSIXct(c('2006-12-10 13:01:22', '2006-12-11 12:13:11', 
                   '2006-12-12 13:12:11', '2006-12-13 11:01:22', 
                   '2006-12-14 15:13:11', '2006-12-15 13:12:11',
                   '2006-12-16 16:13:12', '2006-12-17 14:12:12'))

n2 <- as.POSIXct(c('2006-12-10 16:01:22', '2006-12-11 13:13:11', 
                   '2006-12-12 15:12:11', '2006-12-13 14:01:22', 
                   '2006-12-14 17:13:11', '2006-12-15 16:12:11',
                   NA, '2006-12-17 16:12:12'))

date <- as.data.frame(n1)
date$n2 <- n2

如何获取 date$n2[1] 和 date$n1[2] 之间的时间差,然后是 date$n2[2] 和 date$n1[3],直到向量结束?

我们可以在“n1”的当前行和“n2”的lag across的列之间使用difftime

library(dplyr)
date %>%
    mutate(diff = difftime(n1, lag(n2), unit = 'min'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM