R: lubridate::fast_strptime returns 与 base::strptime 不同的值
R: lubridate::fast_strptime returns different value from base::strptime
我试图将大型数据框中的日期时间字符列转换为 POSIXct 以进行进一步处理。日期时间列的一个示例是:“Wed Jul 01 00:10:32 UTC 2020”。
由于行数很大(>500 万行),我尝试使用 fasttime
包中的 fastPOSIXct
函数来加快速度。我的计划是将日期时间字符转换成POSIXlt格式,然后使用fastPOSIXct
函数处理。
在这个过程中,我发现base::strptime
和lubridate::fast_strptime
返回了不同的结果:
> base::strptime("Wed Jul 01 00:10:32 UTC 2020", format = '%a %b %d %H:%M:%S UTC %Y', tz = "UTC")
[1] "2020-07-01 00:10:32 UTC"
和
> lubridate::fast_strptime("Wed Jul 01 00:10:32 UTC 2020", format = '%a %b %d %H:%M:%S UTC %Y', tz = "UTC")
[1] NA
为什么 fast_strptime
返回 NA?有没有更快的方法来加速这个格式转换过程?
谢谢!
这是因为fast_strptime函数不接受“a”作为适用格式。
如果删除工作日名称参数,它将 return 相同的结果。
fast_strptime("Jul 01 00:10:32 UTC 2020", format = '%b %d %H:%M:%S UTC %Y', tz = "UTC")
我试图将大型数据框中的日期时间字符列转换为 POSIXct 以进行进一步处理。日期时间列的一个示例是:“Wed Jul 01 00:10:32 UTC 2020”。
由于行数很大(>500 万行),我尝试使用 fasttime
包中的 fastPOSIXct
函数来加快速度。我的计划是将日期时间字符转换成POSIXlt格式,然后使用fastPOSIXct
函数处理。
在这个过程中,我发现base::strptime
和lubridate::fast_strptime
返回了不同的结果:
> base::strptime("Wed Jul 01 00:10:32 UTC 2020", format = '%a %b %d %H:%M:%S UTC %Y', tz = "UTC")
[1] "2020-07-01 00:10:32 UTC"
和
> lubridate::fast_strptime("Wed Jul 01 00:10:32 UTC 2020", format = '%a %b %d %H:%M:%S UTC %Y', tz = "UTC")
[1] NA
为什么 fast_strptime
返回 NA?有没有更快的方法来加速这个格式转换过程?
谢谢!
这是因为fast_strptime函数不接受“a”作为适用格式。 如果删除工作日名称参数,它将 return 相同的结果。
fast_strptime("Jul 01 00:10:32 UTC 2020", format = '%b %d %H:%M:%S UTC %Y', tz = "UTC")