【问题标题】:Convert strings to time format so I can calculate the difference [duplicate]将字符串转换为时间格式,以便我可以计算差异[重复]
【发布时间】:2021-05-20 18:51:19
【问题描述】:

在我的数据框中,我有两列时间格式为“HH:MM:SS”,但格式为字符串,我需要在此数据框中创建一个新列,以存储这两列的时间差(以分钟为单位)。

我尝试使用timediff() 函数,但它不起作用,因为不是日期类型,我看到的其他方法只能转换为“月:日:年”等格式,所以...

数据框示例:

       Id        time_1            time_2     
        1       "10:02:34"      "10:22:00"        
        2       "00:20:07"      "20:40:30"       
        3       "12:00:01"      "10:15:30"

我想要类似的东西:

   Id        time_1            time_2     difference    
    1       "10:02:34"      "10:22:00"       .... 
    2       "00:20:07"      "20:40:30"       ....
    3       "12:00:01"      "10:15:30"       ....

【问题讨论】:

    标签: r dataframe date


    【解决方案1】:

    转换成ITime后我们可以拿差价

    library(dplyr)
    library(data.table)
    df2 <- df1 %>%
         mutate(difference = as.ITime(time_2) - as.ITime(time_1))
    

    或获取minutes 的差异

    df1 %>% 
        mutate(difference = difftime(as.ITime(time_1),
          as.ITime(time_2), units = 'min'))
    

    【讨论】:

    • 我怎样才能在几分钟内得到这种差异?
    • @ArturBraga 你可以使用difftime(as.ITime(time_1), as.ITime(time_2), unit = 'min')
    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多