首页 > 解决方案 > “as.POSIXlt.numeric(value) 中的错误:必须提供'origin'”尝试将 POSIXlt 添加到数据帧时

问题描述

我正在寻找一个脚本,它可以简单地将具有两位数年份的数据框(观察值)中的日期更正为四位数。我有所有的逻辑,但是当我运行此代码时出现错误:

observations[1,"Datetime_UTC"] <- observations[1,"Datetime_UTC"] + years(2000)

此行导致:

# Error in as.POSIXlt.numeric(value) : 'origin' must be supplied

如何解决此错误?

谢谢!

标签: rdataframelubridateposixlt

解决方案


如果您的日期以一些常规格式存储,但使用 2 位数年份,则让lubridate函数处理它。他们可以处理大多数分隔符(甚至是不寻常的分隔符)。

library(lubridate)
ymd("20/11/9")
"2020-11-09"
dmy("31-1-90")
"1990-01-31"
mdy("3_07_00")
"2000-03-07"

推荐阅读