将因子转换为r中的时间格式

convert factor to time format in r

嗨,我有这样的数据:

我需要将 session_start 和 session_end 从因子转换为时间格式。 我试过了:

    sessions$session_start_text=format(sessions$session_start_text,format="%H:M:S")

但它会将其转换为字符串。 还有其他选择吗?谢谢:)

在 base R 中,您可以使用 as.POSIXctstrptime 以及 formatfactor 变量转换为日期时间 class(POSIXlt/POSIXct)。

transform(df, session_start_text = as.POSIXct(session_start_text, format = "%T"), 
              session_end_text = as.POSIXct(session_end_text, format = "%T"))

lubridate中,我们可以使用hms将列转换为"Period"class

library(dplyr)
library(lubridate)
df %>%
  mutate(session_start_text = hms(session_start_text), 
         session_end_text = hms(session_end_text))

此外,还有 anytime::anytime() 函数可以帮助转换为日期时间值。