我试图找到每个日期组(2016 年 1 月 1 日...2016 年 1 月 1 日...1/4/2016)每列(即 PB、PE、PS 的四分位数)的每个四分位数的平均远期回报(列 fwd_rtn)
head(df)
日期 股票价格 PB PE PS fwd_rtn
1 1/1/2016 A 11.90 0.4 0.10 0.57 -0.015
2 1/1/2016 B 3.56 0.8 0.09 0.26 -0.036
3 1/1/2016 C 1.29 1.2 0.18 1.60 0.10
..... .
4 1/4/2016 A 12.80 0.39 0.13 0.53 -0.01
5 1/4/2016 B 4.03 0.76 0.08 0.23 0.02
6 1/4/2016 C 1.83 0.87 0.14 1.16 0.03
到目前为止,我已经能够使用此代码找到 1 个日期的 1 列的平均回报
df$qPB <- cut(df$PB, breaks = quantile(df$PB, c(0,.25,.5,.75,1)),include.lowest = TRUE)
aggregate(df$fwd_rtn,list(qPB = df$qPB),FUN=mean)
这给了我正确的答案。但我正在努力为多列做这件事。我想我应该使用dplyr
和gather()
功能,但我不知道如何。