【发布时间】:2016-09-25 21:55:24
【问题描述】:
我正在尝试从仅具有每日值的时间序列中获取有关一周数据的统计信息。有人可以解释如何正确地将每周值传递给 ddply (或使用其他方法)以获得如下所示的输出吗?
library(quantmod)
symbols<-c("USD/EUR")
data<-getSymbols(symbols, src="oanda",index.class="POSIXct",env=NULL)
symbols<-gsub("/","",symbols)
data<-as.data.frame(data)
weekly.data<-as.Date(cut(as.Date(rownames(data)),breaks = "week"))
library(plyr)
ddply(weekly.data, .(weekly.data), function(x)paste0(x))
> head(data,14)
USD.EUR
2015-01-14 0.8489
2015-01-15 0.8535
2015-01-16 0.8621
2015-01-17 0.8645
2015-01-18 0.8645
2015-01-19 0.8630
2015-01-20 0.8635
2015-01-21 0.8639
2015-01-22 0.8658
2015-01-23 0.8855
2015-01-24 0.8923
2015-01-25 0.8923
2015-01-26 0.8913
2015-01-27 0.8855
第一个完整周的目标(周一至周日 19 日至 25 日):
Open High Low Close
2015-01-19 0.8630 0.8923 0.8630 0.8923
注意事项:
- 日期是一周的第一天(总是星期一)
- 一周有 7 天(周一至周日)
- Open 是一周第一天的价格
- 最高价是本周最高价
- 最低价是本周最低价
- 收盘价是一周的最后价格
【问题讨论】:
标签: r time-series