Tôi có chuỗi thời gian không thường xuyên (xts
trong R
) mà tôi muốn áp dụng một số cửa sổ thời gian. Ví dụ, cho một chuỗi thời gian như sau, tôi muốn để tính toán những thứ như bao nhiêu quan sát có trong mỗi cửa sổ 3 giờ rời rạc, bắt đầu từ 2009-09-22 00:00:00
:Phân tích thường xuyên theo chuỗi thời gian bất thường
library(lubridate)
s <- xts(c("OK", "Fail", "Service", "OK", "Service", "OK"),
ymd_hms(c("2009-09-22 07:43:30", "2009-10-01 03:50:30",
"2009-10-01 08:45:00", "2009-10-01 09:48:15",
"2009-11-11 10:30:30", "2009-11-11 11:12:45")))
tôi dường như không thể sử dụng period.apply()
hoặc split()
để làm điều đó, bởi vì những người đó sẽ bỏ qua các giai đoạn mà không có quan sát, và tôi không thể cho nó một thời gian bắt đầu.
đầu ra của tôi mong muốn cho các vấn đề đếm đơn giản (mặc dù, tất nhiên, nhiệm vụ thật của tôi là phức tạp hơn với từng phân khúc!) Sẽ là một cái gì đó như thế này nếu tôi tổng hợp 3 ngày tại một thời điểm:
2009-09-22 1
2009-09-25 0
2009-09-28 0
2009-10-01 3
2009-10-04 0
2009-10-07 0
2009-10-10 0
2009-10-13 0
2009-10-16 0
2009-10-19 0
2009-10-22 0
2009-10-25 0
2009-10-28 0
2009-10-31 0
2009-11-03 0
2009-11-06 0
2009-11-09 2
Cảm ơn bạn đã hướng dẫn.
Điều đó không làm những gì tôi đang tìm - hãy để tôi thêm chi tiết vào câu hỏi ban đầu. –
Có lẽ ý tưởng 'merge()' là những gì tôi cần - để tạo một chuỗi với các điểm cuối khoảng thời gian mong muốn của tôi, sau đó hợp nhất chuỗi đó vào chuỗi? –
@KenWilliams: bạn đang đi đúng hướng. Tôi đã cập nhật câu trả lời của mình ... –