【发布时间】:2013-12-04 19:02:29
【问题描述】:
我想在 3 个月(即一个季度)内累计超过 4000 只证券的回报。我希望新数据框中的结果显示每季度的累积回报。如何在循环中执行此操作或使用 apply 函数/plyr 包?
例子:
returns<-c(rnorm(96,1,0.1))
names<-c(rep("a",24),rep("b",24),rep("c",24), rep("d",24))
years<-c(rep(2003,12),rep(2004,12))
year<-rep(years,4)
month<-rep(1:12,8)
funds<-data.frame(names,year,month,returns)
编辑:
我之前写过以下代码(针对我的真实数据集)
for (k in 1:length(uniquefundnames)){
id<-funds$id[k]
quart1<-period.1$factor.perf[period.1$fund_id==id]*
period.2$factor.perf[period.2$fund_id==id]*
period.3$factor.perf[period.3$fund_id==id]
funds$return.1[k]<-quart1
}
【问题讨论】:
-
你尝试过做点什么吗?如果是这样,请告诉我们您尝试了什么,并告诉我们您的代码的哪一部分不起作用;)
-
谢谢 Jilber,刚刚添加到上面。正如你所知道的,它是一种复制和粘贴方法,我正在寻找一个实际的循环或 plyr 函数来循环不同的资金、年份和月份
标签: r for-loop dataframe plyr finance