Зоопарк доступа или индекс xts

Я использую объекты зоопарка, купите мой вопрос также относится к объектам 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

Я хочу получить 14789 в переменной или векторе, но я не знаю, как получить к нему доступ.

23
задан Joshua Ulrich 7 November 2015 в 17:42
поделиться

2 ответа

В общем, когда вы видите attr, это означает, что эти данные являются атрибутом объекта.

Функция attributes может использоваться для выгрузки всех атрибутов в виде списка, поэтому вы можете получить доступ к определенному элементу с помощью $:

attributes(ObjZoo)$index

attr дает вам прямой доступ к атрибуту с помощью его имя:

attr(ObjZoo,"index")

На самом деле это то, что index делает:

> zoo:::index.zoo

function (x, ...) 
{
    attr(x, "index")
}
<environment: namespace:zoo>
9
ответ дан 29 November 2019 в 01:57
поделиться

Из справки для ?zoo, есть два удобных метода для доступа к данным в объектах зоопарка:

  • 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
33
ответ дан 29 November 2019 в 01:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: