2011-12-21 1 views
3

Я пытаюсь разделить объект xts, который содержит ряд временных рядов (столбцы с общим столбцом даты (индекс). Я хочу разделить каждый столбец по его значению в заданную дату (например, «2010-09-30»). Это делается для того, чтобы повторно масштабировать весь объект со значениями 1 в каждом столбце в эту дату (общая задача ресайзинга). это была обычная матрица, A и рядом я хотел перебазировать, был сказать A[6,], я мог бы просто сделатьРазделение каждой строки объекта временного ряда xts или zoo на фиксированную строку

t(t(A)/A[6,]) 

и что работает. Но, пытаясь манипулировать объект в XTS и ее строка подмножества xts['2010-09-30'] Безразлично» t работать так легко. Мог ли кто-нибудь, пожалуйста, указать мне на буровую установку ht. Я понимаю, что это очень просто, и я должен был найти ответ самостоятельно. На самом деле, если есть лучший метод в целом для временного сокращения временных интервалов таким образом, используя пакет, я с удовольствием принимаю этот подход.

ответ

2

Объекты xts и zoo выровнены по индексу перед операциями. Если вы хотите разделить целостный объект на значение в одной строке, вы должны использовать coredata (и, возможно, drop), чтобы получить значение для атомного вектора (только с одним элементом).

Например:

library(xts) 
x <- xts(1:10,as.Date("2011-12-21")+1:10) 
x/drop(coredata(x['2011-12-26'])) 
+0

Большое спасибо @Joshua как обычно. Теперь я попробую это. BTW, любое предложение по моему запросу вчера об этой операции слияния данных с использованием quantmod? Если это настоящая проблема, я буду смотреть в других направлениях ... Я просто хочу убедиться, что это не ошибка начинающего с моей стороны .... – Tatha

+0

Абсолютно сработал! Еще раз спасибо. Недавно я использовал coredata ... не знаю, как я забыл это ... :) – Tatha

 Смежные вопросы

  • Нет связанных вопросов^_^