转换为posixct失败

时间:2018-06-04 09:47:45

标签: r datetime posixct

> resulttable[3,1]
     UTC FORECAST TIME
1: 2018-05-01 00:30:00
> as.POSIXct(resulttable[3,1],format="%Y-%m-%d %H:%M:%S",tz="UTC")
Error in as.POSIXct.default(resulttable[3, 1], format = "%Y-%m-%d %H:%M:%S",  :       
do not know how to convert 'resulttable[3, 1]' to class “POSIXct”

我不理解错误,因为结果表的第一列格式为posixct

> lapply(resulttable,class)
$`UTC FORECAST TIME`
[1] "POSIXct" "POSIXt" 

$`UTC FORECAST RECEIVE TIME`
[1] "POSIXct" "POSIXt" 

为什么as.POSIXct(resulttable[3,1],format="%Y-%m-%d %H:%M:%S",tz="UTC")会导致错误?

编辑:这里输出str:

> str(resulttable[3,1])
Classes ‘data.table’ and 'data.frame':  1 obs. of  1 variable:
 $ UTC FORECAST TIME: POSIXct, format: "2018-05-01 00:30:00"
 - attr(*, ".internal.selfref")=<externalptr> 

1 个答案:

答案 0 :(得分:1)

请注意instance.insertHTML的输出。它说它是类str(resulttable[3,1])data.table的对象。因此,您必须使用标准提取运算符提取要转换为data.frame的列。

POSIXct

请注意,列名称resulttable[3, 1][[1]] # a vector resulttable[3, 1]$`UTC FORECAST TIME` # the same vector 中包含空格,因此您需要将其放在后引号之间。
然后,为了进行转换,您可以使用上述任何一种形式。

UTC FORECAST TIME