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()
选项探索更多变体。
我正在处理据说是“每日”的时间序列数据(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()
选项探索更多变体。