У меня следующая ситуация.
df <- rbind(
data.frame(thisDate = rep(seq(as.Date("2018-1-1"), as.Date("2018-1-2"), by="day")) ),
data.frame(thisDate = rep(seq(as.Date("2018-2-1"), as.Date("2018-2-2"), by="day")) ))
df <- cbind(df,lastMonth = as.Date(format(as.Date(df$thisDate - months(1)),"%Y-%m-01")))
df <- cbind(df, prod1Quantity= seq(1:4) )
У меня есть количества для разных дней месяца для неизвестного количества продуктов. Я хочу иметь 1 столбец для каждого продукта с общим ежемесячным количеством этого продукта за весь предыдущий месяц. Таким образом, выходные данные будут такими: т.е. сгруппированы по lastMonth, Prod1Quantity. Я просто не понимаю, как группировать, мутировать и суммировать динамически, если это действительно правильный подход.
Я наткнулся на data.table сгенерировал несколько столбцов и суммировал их . Я думаю, что он делает то, что мне нужно, но я просто не понимаю, как это работает!
Желаемый выход
thisDate lastMonth prod1Quantity prod1prevMonth
1 2018-01-01 2017-12-01 1 NA
2 2018-01-02 2017-12-01 2 NA
3 2018-02-01 2018-01-01 3 3
4 2018-02-02 2018-01-01 4 3