访问zoo或xts索引

fes*_*het 23 r zoo xts

我正在使用zoo对象,买我的问题也适用于xts对象.它看起来像是一个带有索引的单列向量.在我的例子中,索引是日期的向量,而一列向量是我的数据.一切都很好,除了我想访问日期(从索引).

例如,我有以下结果:

ObjZoo <- structure(c(10, 20), .Dim = c(2L, 1L), index = c(14788, 14789),
                    class = "zoo", .Dimnames = list(NULL, "Data"))
unclass(ObjZoo)
#      Data
# [1,]   10
# [2,]   20
# attr(,"index")
# [1] 14788 14789
Run Code Online (Sandbox Code Playgroud)

我想进入14789变量或向量,但我不知道如何访问它.

And*_*rie 33

从帮助中?zoo,有两种方便的方法来访问zoo对象中的数据:

  • coredata() 返回zoo对象中的数据
  • index() 返回索引

例如:

x.Date <- as.Date("2003-02-01") + c(1, 3, 7, 9, 14) - 1
x <- zoo(rnorm(5), x.Date)

index(x)
[1] "2003-02-01" "2003-02-03" "2003-02-07" "2003-02-09" "2003-02-14"

coredata(x)
[1] -1.2487943  0.8911630  1.2713133 -0.1024638  0.2989194
Run Code Online (Sandbox Code Playgroud)

  • 很高兴有帮助.如果答案有帮助,您可以将其标记为已接受.见http://meta.stackexchange.com/q/5234/161858 (4认同)

mbq*_*mbq 9

通常,当您看到时attr,这意味着此数据是对象的属性.

attributesfunction可用于将所有属性转储为列表,因此您可以使用以下命令访问某些元素$:

attributes(ObjZoo)$index
Run Code Online (Sandbox Code Playgroud)

attr 允许您通过名称直接访问属性:

attr(ObjZoo,"index")
Run Code Online (Sandbox Code Playgroud)

事实上,这是做什么的index:

> zoo:::index.zoo

function (x, ...) 
{
    attr(x, "index")
}
<environment: namespace:zoo>
Run Code Online (Sandbox Code Playgroud)