【问题标题】:00:01:30 HMS time if_else condition R00:01:30 HMS 时间 if_else 条件 R
【发布时间】:2021-05-13 13:22:08
【问题描述】:

我有一列表示时间戳:

[1] 00:01:30

[2] 00:02:45

.

.

.

[50] 01:02:05

我想将这些时间用于 IF 语句。 我试过使用lubridate::hms() 它有效,但它改变了格式: “00:01:30”到“1M 30S”

我只是希望时间戳保持在“00:01:30”的格式并将其用于条件。 例如: mutate(times = ifelse(timestamp > "00:20:31", 1, 2))

非常感谢!

【问题讨论】:

    标签: r dplyr lubridate


    【解决方案1】:

    这行得通吗:

    library(dplyr)
    library(lubridate)
    df %>% mutate( times = case_when(hms(timestamp) > hms('00:20:31') ~ 1, TRUE ~ 2))
    # A tibble: 3 x 2
      timestamp times
      <chr>     <dbl>
    1 00:01:30      2
    2 00:02:45      2
    3 01:02:05      1
    

    使用的数据:

    df
    # A tibble: 3 x 1
      timestamp
      <chr>    
    1 00:01:30 
    2 00:02:45 
    3 01:02:05 
    

    【讨论】:

      猜你喜欢
      • 2010-09-25
      • 2012-12-29
      • 2019-12-01
      • 2020-07-17
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多