Saya memiliki XTS
deret waktu yang tidak beraturan (dengan POSIXct
nilai sebagai tipe indeks).
Bagaimana saya bisa membuat rangkaian waktu baru yang disampel pada katakanlah interval 10 menit, tetapi dengan setiap momen sampel disejajarkan dengan waktu putaran (13:00:00, 13:10:00, 13:20:00, ...) . Jika saat resampling tidak jatuh tepat pada nilai seri asli, saya ingin mengambil yang sebelumnya.
[r] xts
dan telusuri arsip r-sig-finance.Jawaban:
Contohnya
untuk subsampel setiap 20 menit. Anda mungkin juga ingin memeriksa
to.minutes
,to.daily
dllsumber
"seconds", 3601
, tetapi tidak bekerjaSaya masih tidak yakin apa yang Anda coba lakukan dan saya masih berpikir contoh akan membantu, tapi saya pikir saya rasa Anda mungkin tertarik
align.time
.sumber
index(a1)=index(a1)-60;align.time(a1,60)
)align.time
yang melakukan itu. Bagaimanapun, sepertinya ide yang buruk untuk menyelaraskan pengamatan dengan waktu sebelum terjadinya.Jika
a
objek xts dengan entri ke resolusi kedua, ini mematikan semua detik: indeks (a) = trunc (indeks (a), "menit")Anda juga dapat menggunakan ini untuk membulatkan ke resolusi "jam" juga. Tetapi 10 menit tidak didukung. Untuk itu Anda harus melakukan ini:
Atau di
a=align.time.down(a,600)
mana Anda telah mendefinisikan:(Sudah pergi dengan pilihan terakhir dalam skrip saya sendiri.)
sumber