25

私は動物園のオブジェクトを使用しています。私の質問は xts オブジェクトにも当てはまります。インデックスを持つ1列のベクトルのように見えます。私の場合、インデックスは日付のベクトルであり、1 つの列ベクトルは私のデータです。(インデックスから)日付にアクセスしたいことを除いて、すべて問題ありません。

たとえば、次の結果があります。

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

変数またはベクトルを取得したいのです14789が、アクセス方法がわかりません。

4

2 に答える 2

35

のヘルプから、?zoozoo オブジェクトのデータにアクセスする便利な方法が 2 つあります。

  • coredata()動物園オブジェクトのデータを返します
  • 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
于 2011-06-24T08:33:53.360 に答える
9

通常、 が表示されている場合attr、これはこのデータがオブジェクトの属性であることを意味します。

attributes関数を使用してすべての属性をリストとしてダンプできるため、次の方法で特定の要素にアクセスできます$

attributes(ObjZoo)$index

attr名前で属性に直接アクセスできます。

attr(ObjZoo,"index")

実際、これは次のことindexです。

> zoo:::index.zoo

function (x, ...) 
{
    attr(x, "index")
}
<environment: namespace:zoo>
于 2011-06-24T09:31:48.250 に答える