r - 在R中将因子转换为datetime

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

%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'?

回答1

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"

回答2

只需在 strptimeas.POSIXct 中的 format 中添加 T (使用 as.POSIXct 可能会更好,因为 strptime 返回带有 POSIXlt 类的 list

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

相似文章

最新文章