如果我有一个unix时间戳的向量,例如
> head(debug$time)
[1] 1.473639e+18 1.473639e+18 1.473639e+18 1.473639e+18 1.473640e+18
[6] 1.473640e+18
如何将其用作Date
向量以形成ts
或xts
对象?
我需要这个来参数化和使用 bfast 库docs
我厌倦了做以下事情(tz = CEST无法识别btw):
t_ <- as.POSIXct(as.numeric(debug$time), origin = '1970-01-01')
你能告诉我这个吗?
答案 0 :(得分:2)
使用this解决CEST问题,但您需要做的就是:
vals <- c(1.473639e+18, 1.473639e+18, 1.473639e+18, 1.473639e+18, 1.473640e+18, 1.473640e+18)
as.POSIXct(vals/1000000000, origin="1970-01-01 00:00:00")
## [1] "2016-09-11 20:10:00 EDT" "2016-09-11 20:10:00 EDT" "2016-09-11 20:10:00 EDT" "2016-09-11 20:10:00 EDT" "2016-09-11 20:26:40 EDT"
## [6] "2016-09-11 20:26:40 EDT"
使日期/时间转换有效。
<强>更新强>
看起来你也可以这样做:
as.POSIXct(vals/1e9, origin="1970-01-01 00:00:00", tz="Etc/GMT+2")
让您的CEST也能正常工作(从我读到的内容来看,这是一个等效的时区,但我不会在那里生活或使用那里的数据,因此无法验证该声明)。同时使用Rich的科学记法: - )