簡體   English   中英

在 R 中動態分組時間序列觀察

[英]Group time-series observations dynamically in R

我有五天的時間序列數據,格式為xts對象。 數據生成如下:

library(xts)
Sys.setenv(TZ="Asia/Kolkata")
seq <- timeBasedSeq('2015-06-01/2015-06-05 23')
z <- xts(1:length(seq),seq)

現在,我想對具有相似時間戳(僅H:M:S )的數據進行分組,動態地在 for 循環中,然后對每個組執行所需的操作。 在這里,我面臨兩個問題:

  1. 我應該如何在xts時間索引上運行 for 循環。 我的意思是說,我可以使用minutesxts對象遍歷嗎?

  2. 我應該如何將具有相似時間戳的觀察結果分組並執行所需的操作。 例如,查找所有 5 天上午 11 點的所有觀測值並計算回歸系數。 是否有任何定義的函數來動態地對時間序列觀察進行分組?

在所有這些操作中,我不想丟失xts索引。

您可以按 HH:MM:SS split數據,然后遍歷結果列表。

# convert to factor because split.xts will pass f to endpoints() if f is character
# (even if it's more than one element). split.zoo is called if f is factor.
y <- split(z, factor(format(index(z), "%H%M%S")))
# loop over each time group
l <- lapply(y, FUN)
# combine results
x <- do.call(rbind, l)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM