我正在使用xts或data.frame对象,并且需要一种简单的方法将1分钟间隔的数据汇总到15分钟,每小时等等...
我意识到有to.period方法,但我的问题是我的列是非OHLC列,因此在调用.period时它们会被删除.
我的数据有三列:POSIXct,SomeVar,AnotherVar.
我需要能够转换这些数据,同时这样做要么总结我的数据列,要么接受最大值.与to.period工作方式非常相似,但列的名称不同.此外,我的列数据有时是因子而不是数字,所以如果这也可以处理转换(计算时),这将是理想的.
使用period.apply(或apply.daily,apply.weekly等)您自己的自定义功能.就像是:
library(quantmod)
getSymbols("SPY")
myFun <- function(x) c(Low=min(Lo(x)),Vol=sum(Vo(x)))
out <- period.apply(SPY, endpoints(SPY,"years"), myFun)
# Low Vol
# 2007-12-31 136.75 39313707500
# 2008-12-31 74.34 75960174800
# 2009-12-31 67.10 62061939800
# 2010-12-31 101.13 52842325500
# 2011-10-10 107.43 42314587300
Run Code Online (Sandbox Code Playgroud)