R:将 "Daily" 时间序列转换为每月

R : Converting "Daily" time series to monthly

我正在处理据说是“每日”的时间序列数据(6000 次观察,超过 7000 天)。然而,测量不一定每天都进行。有时,同一天可能会进行多次测量。这就是为什么我认为“每月”而不是“每天”分析这些数据会更好。

我创建了一些代表我的时间序列的虚拟数据:

library(xts)

date_decision_made = seq(as.Date("2014/1/1"), as.Date("2016/1/1"),by="day")

date_decision_made <- format(as.Date(date_decision_made), "%Y/%m/%d")

property_damages_in_dollars <- rnorm(731,100,10)

final_data <- data.frame(date_decision_made, property_damages_in_dollars)

我正在尝试按照此处的说明进行操作:Getting a monthly time series from weekly data

y.mon  <- aggregate(final_data, by = format(date_decision_made,format="%Y/%m/%d"), FUN=sum)

但是这段代码给我一个错误:

Error in aggregate.data.frame(final_data, by = format(date_decision_made,  : 
  'by' must be a list

有人知道我做错了什么吗?

谢谢

OP 问题的可能解决方案可以基于:

#Code
y.mon<-aggregate(property_damages_in_dollars~format(as.Date(date_decision_made),
format="%Y/%m"),data=final_data, FUN=sum)

可以围绕 format() 选项探索更多变体。