Eu tenho uma XTS
série temporal irregularmente espaçada (com POSIXct
valores como tipo de índice).
Como criar uma nova série temporal amostrada em um intervalo de 10 minutos, digamos, mas com cada momento da amostra alinhado a um tempo redondo (13:00:00, 13:10:00, 13:20:00, ...) . Se um momento de reamostragem não cair exatamente em um valor de série original, quero pegar o anterior.
[r] xts
e examine os arquivos do r-sig-finance.Respostas:
Por exemplo
subamostrar a cada 20 minutos. Você também pode querer verificar para fora
to.minutes
,to.daily
etc.fonte
"seconds", 3601
, mas ele não funcionaAinda não tenho certeza do que você está tentando fazer e ainda acho que um exemplo ajudaria, mas achei que poderia estar interessado
align.time
.fonte
index(a1)=index(a1)-60;align.time(a1,60)
)align.time
disso que faça isso. Independentemente disso, parece uma má idéia alinhar as observações com um tempo anterior à sua ocorrência.Se
a
for um objeto xts com entradas para a segunda resolução, isso interrompe todos os segundos: index (a) = trunc (index (a), "mins")Você também pode usar isso para arredondar para a resolução "horas" também. Mas 10 minutos não são suportados. Para isso você tem que fazer o seguinte:
Ou
a=align.time.down(a,600)
onde você definiu:(fui com essa última opção no meu próprio script.)
fonte