在 R 中将因子转换为日期时间

Convert factor to datetime in R

我有一个因子数据类型的列,但是时间戳是这种格式:

%Y-%m-%dT%H:%M:%S

 $ fg_stop_time      : Factor w/ 8 levels "2022-05-16T20:38:19",..: 4 8

我似乎无法让 as.character 正常工作它一直显示为 NA

df$new_time <-strptime(x = as.character(df1$fg_stop_time), format = "%Y-%m-%d %H:%M:%S")

我认为这与中间有一个T字符有关。我如何让它识别 'T'?

lubridate 这个怎么样?

x <- as.factor("2022-05-16T20:38:19")

library(lubridate)

y <- ymd_hms(x)

str(y)

POSIXct[1:1], format: "2022-05-16 20:38:19"

只需在 strptimeas.POSIXct 中的 format 中添加 T(最好使用 as.POSIXct 作为 strptime returns 一个 list 与 POSIXlt class

as.POSIXct("2022-05-16T20:38:19", format = "%FT%T")