如何使用R将ISO时间戳数据列转换为POSIXt?

如何使用R将ISO时间戳数据列转换为POSIXt?,r,datetime,unix-timestamp,lubridate,R,Datetime,Unix Timestamp,Lubridate,我有一个数据框,看起来像这样: lubridate::as_datetime(1612988995) [1] "2021-02-10 20:29:55 UTC" tbl列名没有任何空格 library(lubridate) library(dplyr) tbl %>% mutate(date_time = as_datetime(ISO_Timestamp)) -输出 # ISO_Timestamp S1 date_time #1

我有一个数据框,看起来像这样:

lubridate::as_datetime(1612988995)
[1] "2021-02-10 20:29:55 UTC"

tbl列名没有任何空格

library(lubridate)
library(dplyr)
tbl %>% 
  mutate(date_time = as_datetime(ISO_Timestamp))
-输出

# ISO_Timestamp     S1           date_time
#1    1612972204 7056.0 2021-02-10 15:50:04
#2    1612972214 7101.1 2021-02-10 15:50:14
#3    1612972224 5145.0 2021-02-10 15:50:24
#4    1612972234 2198.0 2021-02-10 15:50:34

抱歉,列名的问题只是这个问题中的一个输入错误。我编辑了它来解决这个问题。我仍然收到“所有格式解析失败。未找到任何格式”错误。我进行了检查,以确保data.frame中的所有数据的格式与显示的格式相同。当我像这样使用base R时,我甚至会遇到同样的错误:as_datetime(tbl_1$ISO_Timestamp)。有什么想法吗?我想出来了。如果您显式地将列转换为整数类型而不是字符,它将使用上面的代码对其进行解析。@JustinAndrew如果有多种日期时间格式,请使用
parse_date_time(ISO_Timestamp,yourformats)
@JustinAndrew如示例所示,这一切都适用于我
library(lubridate)
library(dplyr)
tbl %>% 
  mutate(date_time = as_datetime(ISO_Timestamp))
# ISO_Timestamp     S1           date_time
#1    1612972204 7056.0 2021-02-10 15:50:04
#2    1612972214 7101.1 2021-02-10 15:50:14
#3    1612972224 5145.0 2021-02-10 15:50:24
#4    1612972234 2198.0 2021-02-10 15:50:34