我对R有点陌生,我正在努力解决以下问题。
我有2个数据框。一种是面板格式,其中包含每个公司的每日价值,如下所示:
print(daily)
COMPANY DATE Value
1 AAPL 4/1/05 47
2 AAPL 4/2/05 **4**
3 AAPL 4/3/05 **71**
4 AAPL 4/4/05 **95**
5 AAPL 4/5/05 **6**
6 AAPL 4/6/05 **3**
7 AAPL 4/7/05 28
8 AAPL 4/8/05 42
9 AAPL 6/8/05 69
10 AAPL 7/8/05 **45**
11 AAPL 7/13/18 6
12 BAT 4/1/05 34
13 BAT 1/2/08 25
14 BAT 1/3/08 2
15 BAT 1/4/08 85
16 BAT 4/1/05 89
17 BAT 1/2/08 52
18 BAT 1/3/08 96
19 CVS 4/1/05 73
20 CVS 4/2/05 36
21 CVS 4/3/05 17
22 CVS 4/4/05 69
我的第二个数据框按季度包含关键日期。对于每个季度和每个公司,关键日期都不同。
company qtr **FQE** DAY0 DAY1 **DAY(-1)** DAY(-5)
AAPL 2005Q1 **4/1/05** 20050413 4/14/05 **4/7/05** 4/8/05
AAPL 2005Q2 **7/1/05** 20050713 7/14/05 **7/12/05** 7/8/05
AAPL 2005Q3 10/1/05 20051011 10/12/05 10/10/05 10/6/05
AAPL 2005Q4 1/1/06 20060118 1/19/06 1/17/06 1/13/06
BAT 2005Q1 …
BAT 2005Q2
BAT 2005Q3
BAT 2005Q4
CVS 2005Q1
CVS 2005Q2
CVS 2005Q3
CVS 2005Q4
我的目标是根据所有间隔(以该特定公司在dataframe2中的关键日期为特征)来计算特定时间范围内dataframe1中的平均值。例如,我想计算在FQE和DAY(-1)间隔内平均的AAPL值,结果应为avg(4,71,95,6,3,45)。包含注释45是因为日期7/8在dataframe2的第二行中的7/1和7/12之间。我希望我已经足够清楚了。
我尝试了几种方法,但是没有运气。我试图在%within%中为所有间隔形成一个长字符串,但最终出现错误。非常感谢您提前发表任何评论!
我做了这样的事情:
dataframe2 %>%
group_by(keyword) %>%
summarise(interval = paste(test, collapse =","))