我试图从仅具有每日 Value 的时间序列中获取有关数周数据的统计数据 . 有人可以解释如何正确地将每周值传递给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天(周一至周日)
-
开盘价是一周第一天的价格
-
高是本周最高价
-
低是本周的最低价
-
关闭是本周的最后一个价格
1 回答
我发布这个后,我找到了答案 . 我所要做的就是使用quantmod包中的
to.weekly(data)
.