我有以下数据框
> head(try) creates time 1 128.29508 1417392072 3 236.98361 1417392072 7 98.45902 1417392072 9 157.44068 1417392131 10 227.38333 1417392131 11 242.03390 1417392131 > str(try) 'data.frame': 102968 obs. of 2 variables: $creates: num 128.3 237 98.5 157.4 227.4 ... $time : Factor w/ 26418 levels "1417392071","1417392072",..: 2 2 2 3 3 3 3 3 5 5 ...
我无法使用我尝试的以下方法将UNIX时间戳转换为datetime
> head(as.POSIXlt(as.numeric(try$time),origin="1970-01-01",tz="GMT")) [1] "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:03 UTC" "1970-01-01 00:00:03 UTC" [6] "1970-01-01 00:00:03 UTC" > head(as.POSIXct(as.character(try$time),tz="GMT"))
Error in as.POSIXlt.character(x,tz,…) :
character string is not in a standard unambiguous format
> head(as.POSIXlt(as.POSIXct(as.vector(as.numeric(try$time)),origin="1970-01-01"))) [1] "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:02 UTC" "1970-01-01 00:00:03 UTC" "1970-01-01 00:00:03 UTC" [6] "1970-01-01 00:00:03 UTC"
我不确定我在这里做错了什么.
在使用as.POSIXct之前,您必须从因子转换为字符到数字.该函数期望一个整数作为Unixtime
原文链接:https://www.f2er.com/bash/385130.htmlhead(as.POSIXct(as.numeric(as.character(try$time)),tz="GMT"))