00:01:30 HMS 时间 if_else 条件 R

00:01:30 HMS time if_else condition R

我有一列指示时间戳:

[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))

非常感谢!

这个有用吗:

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