我有一个带有一些值的数据帧(df3)。
其中一个值是daedlines。
此值的数据如下所示:
deadline
1419397140
1418994978
1419984000
1418702400
他们是天,我想转换为使用此:
df3$deadline <- as.POSIXct(df3$deadline, origin="1970-01-01")
一般情况下,我可以使用其他文件中的其他数据帧。
然而有了这个,它让我回到了这个错误:
Error in as.POSIXlt.character(as.character(x), ...) :
character string is not in a standard unambiguous format
我该如何解决?
答案 0 :(得分:6)
可能是你有一个角色或因素,并期望从unix时间转换数字向量:
as.POSIXct(as.numeric(as.character(df3$deadline)),origin="1970-01-01")
答案 1 :(得分:2)
作为将来调试的建议,您可以使用
检查参数类型class(df3$deadline)
并确保将正确的类型传递给as.POSIXlt()。
从asPOSIX *()的帮助菜单:
字符输入首先转换为类&#39;&#34; POSIXlt&#34;&#39;通过 &#39; strptime&#39;:数字输入首先转换为&#39;&#34; POSIXct&#34;&#39;。任何 需要在两个日期时间类之间进行的转换 需要一个时区:来自&#39;&#34; POSIXlt&#34;&#39;到&#39;&#34; POSIXct&#34;&#39; 将验证所选时区的时间。