【发布时间】:2023-03-31 17:02:01
【问题描述】:
我有一个数据库,其中包含具有不同频率(每周、每月、每天)数据的不同指数的值。我希望通过从时间序列中提取月初值来计算月收益。
我尝试使用循环逐月对时间序列进行分区,然后使用 min() 来获取该月的最早日期。但是,我想知道是否有更有效的方法来加快计算速度。
library(data.table)
df<-fread("statistic_date index_value funds_number
2013-1-1 1000.000 0
2013-1-4 996.096 21
2013-1-11 1011.141 21
2013-1-18 1057.344 21
2013-1-25 1073.376 21
2013-2-1 1150.479 22
2013-2-8 1150.288 19
2013-2-22 1112.993 18
2013-3-1 1148.826 20
2013-3-8 1093.515 18
2013-3-15 1092.352 17
2013-3-22 1138.346 18
2013-3-29 1107.440 17
2013-4-3 1101.897 17
2013-4-12 1093.344 17")
我希望过滤得到每个月最早日期的行,例如:
2013-1-1 1000.000 0
2013-2-1 1150.479 22
2013-3-1 1148.826 20
2013-4-3 1101.897 17
您的帮助将不胜感激!
【问题讨论】: