R: 修改每天序列的xts矩阵



我有一个xts数字矩阵,它包括多天的分钟间隔序列。我需要计算每一天的分钟周期统计数据,添加新列,然后将所有的日序列重新组合在一起。

我尝试过每天应用.daily(),它用xts矩阵调用我的stats函数,但我不知道如何将修改后的日期序列返回到调用函数并重新组装完整的修改数据集。

一种可行的解决方案是在循环中使用端点(x,on="day"),然后调用rbind来重新组装处理后的日期帧。有更好的解决方案吗?

process = function(myxts) {  
  day.indexes = endpoints(myxts, on="days")
  days = length(day.indexes) - 1
  l = list()
  list.index = 1
  for( i in 1:days ) {
    day.begin = day.indexes[i] + 1
    day.end = day.indexes[i+1]
    l[[list.index]] = ets.sym.process.daily(myxts[day.begin:day.end])
    list.index = list.index + 1
  }
  return(do.call("rbind", l))
}

您应该能够使用do.call(rbind, lapply(split(myxts,"days"), myfun))的某些组合。如果没有一个可重复的例子,很难更具体。

最新更新