Рассчитать среднее значение по интервалу дат и группе в г - PullRequest
0 голосов
/ 28 августа 2018

Я немного новичок в 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      

Моя цель - рассчитать среднее значение в dataframe1 за конкретное временное окно на основе всех интервалов , характеризуемых ключевыми датами в dataframe2 для этой конкретной компании. Например, я хотел вычислить значение AAPL, усредненное по интервалу FQE и DAY (-1), результат должен быть средним (4,71,95,6,3,45). Примечание 45 включено, потому что дата 7/8 находится в интервале 7/1 и 7/12 во второй строке кадра данных2. Надеюсь, я достаточно ясно дал понять ...

Я пробовал несколько способов, но безуспешно. Я пытался сформировать длинную строку для всех интервалов в% в%, но в итоге я получил ошибки. Очень признателен за любой комментарий заранее !!

я сделал что-то вроде этого:

dataframe2 %>% 
    group_by(keyword) %>% 
    summarise(interval  = paste(test, collapse =","))
...