Tôi mới dùng stackoverflow và khá mới đối với R nhưng đã tìm kiếm dài và khó và không thể tìm thấy câu trả lời cho câu hỏi sau.Làm cách nào để thay đổi chuỗi thời gian (XTS hoặc ZOO) trong R?
Tôi có một số tệp dữ liệu có nhiệt độ theo chuỗi thời gian. Tôi đang nhập CSV dưới dạng đối tượng ZOO sau đó chuyển sang XTS. Một tệp chính xác trông giống như thế này, với các bài đọc về giờ và giờ rưỡi:
>head(master1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
Nhưng giá trị thời gian trên một số hơi lệch - tức là 23:59:00 không phải 00:00:00 hoặc 00: 29:00 thay vì 00:30:00.
>head(master21)
S_21
2010-03-04 23:59:00 -0.593
2010-03-05 00:29:00 -0.908
2010-03-05 00:59:00 -1.034
2010-03-05 01:29:00 -1.223
2010-03-05 01:59:00 -1.349
2010-03-05 02:29:00 -1.538
Tôi muốn sửa các chuỗi thời gian này vì chênh lệch phút không quan trọng đối với phân tích của tôi và cuối cùng tôi muốn hợp nhất các tệp, vì vậy mỗi lần cần phải có cùng thời gian.
Tôi muốn có lệnh chỉ có thể nói "chuyển chuỗi thời gian về trước 1 phút, nhưng không thay đổi cột dữ liệu (ví dụ: S_21). Tôi đã có một số may mắn với gsub()
về những thay đổi dễ dàng hơn, và dự tính regex phức tạp để thay đổi dữ liệu trước khi nó được chuyển đổi thành ZOO hoặc XTS.Tôi đã đọc về lag()
và diff()
nhưng dường như chúng di chuyển các giá trị dữ liệu liên quan đến chuỗi thời gian; giải quyết vấn đề này sẽ được nhiều người đánh giá cao.