2017-01-21 12 views
0

私は以下のデータフレームを持ち、SumNextMonthsの1つの列を追加して、次の3ヶ月間のSalesForecastsの合計を計算します。例えばデータフレーム内の合計範囲の行r

:2月中

SumNextMonths = SalesForecastsof月+ 4月+月。

d<- data.frame(Period =c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"), 
SalesForecasts = c(100, 100, 200, 100, 300, 300, 100, 100, 200, 300,100, 100, 500, 500, 1000, 500, 1500, 1500, 500, 500, 1000, 1500, 500, 500)) 

どのように進むのか分かりますか?

はありがとう、 乾杯

答えて

0

一般的な答えは次のようになります。

library(dplyr) 
library(zoo) 
    d %>% 
    mutate(temp_lead = lead(SalesForecasts, n = 1), 
      SalesforNext3Months = rollapply(data = temp_lead, 
             width = 3, 
             FUN = sum, 
             align = "left", 
             fill = NA, 
             na.rm = T))%>% 
    select(-temp_lead) 
    Period SalesForecasts SalesforNext3Months 
1  Jan   100     400 
2  Feb   100     600 
3  Mar   200     700 
4  Apr   100     700 
5  May   300     500 
6  Jun   300     400 
+0

おかげ@Haboryme! – Nico

+0

@Nico Np、これがあなたの質問に答えるなら、答えを受け入れることを検討する;) – Haboryme

関連する問題