2017-01-21 11 views
0

У меня есть кадр данных ниже и хотел бы добавить один столбец SumNextMonths, рассчитывая за каждый месяц сумму SalesForecasts следующих 3 месяцев.строки диапазона сумм в кадре данных r

Например:

SumNextMonths в феврале = SalesForecastsof Mar + Апрель + май.

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

 Смежные вопросы

  • Нет связанных вопросов^_^