我有一个矩阵X
,其中每列代表一个时间序列。每行不代表一年,一月或一天,而是一秒钟。我想使用xts包,但是日期只是1,2,3,...,nrow(X),即系列中从1到最后一秒,因为每行都是前一秒以前的。这可能吗?我似乎无法弄明白。
答案 0 :(得分:1)
1)这可以通过动物园完成:
library(zoo)
X <- matrix(1:6, 3) + 100 # test data
zoo(X)
给出以下(1,2,3列是时间):
1 101 104
2 102 105
3 103 106
2) xts
不支持原始数字(请参阅?xts
)但您可以使用"POSIXct"
类以秒表示的事实内部。它将显示为POSIXct日期时间,但在内部它将是您要求的秒数:
library(xts)
x <- xts(X, as.POSIXct(1:nrow(X), origin = "1970-01-01"))
,并提供:
> x
[,1] [,2]
1969-12-31 19:00:01 101 104
1969-12-31 19:00:02 102 105
1969-12-31 19:00:03 103 106
> unclass(time(x))
[1] 1 2 3
attr(,"tzone")
[1] ""
attr(,"tclass")
[1] "POSIXct" "POSIXt"