字符串不是标准的明确格式

时间:2015-05-07 15:22:51

标签: r

我有一个带有一些值的数据帧(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

我该如何解决?

2 个答案:

答案 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;   将验证所选时区的时间。