【问题标题】:How can the time difference between two consecutive rows from different columns be calculated?如何计算来自不同列的两个连续行之间的时间差?
【发布时间】:2021-02-08 17:12:59
【问题描述】:

数据示例

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],直到向量结束?

【问题讨论】:

    标签: r time


    【解决方案1】:

    我们可以使用difftimeacross'n1'的当前行和'n2'的lag之间的列

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

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 2022-01-19
      • 2019-05-29
      • 2017-09-06
      • 1970-01-01
      • 2017-06-16
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多