【发布时间】:2020-09-15 20:07:10
【问题描述】:
我正在寻找一个脚本,它可以简单地将具有两位数年份的数据框(观察)中的日期更正为四位数。我有所有的逻辑,但是当我运行这段代码时出现错误:
observations[1,"Datetime_UTC"] <- observations[1,"Datetime_UTC"] + years(2000)
这行结果:
# Error in as.POSIXlt.numeric(value) : 'origin' must be supplied
如何解决此错误?
谢谢!
【问题讨论】:
-
该错误表明您要转换为
POSIXlt的值只是一个数字,而不是字符串或现有的POSIXt友好格式。因此,如何解释它取决于数据的来源。许多工具使用 unix“纪元”(自“1970-01-01 00:00:00 UTC”以来的秒数),但许多工具(包括 Excel)使用不同的来源和单位。尝试添加origin="1970-01-01"(如果纪元秒) -
另外:您不应该在 data.frames 中使用 POSIXlt 向量。请改用 POSIXct。
-
@IRTFM 为什么不能在 data.frames 中使用 POSIXlt 向量?
-
因为 POSIXlt 向量实际上是列表,而数据框函数不支持访问作为列表的数据框列。 stackoverflow.com/questions/43799852/…
标签: r dataframe lubridate posixlt