Вот пример df, в котором я хотел бы вычислить суммарную сумму по движущемуся окну.Создание движущегося окна cumsum в R
d <- data.frame(y = 1:10)
Из предыдущего suggestions, я в состоянии выполнить скользящее окно cumsum, используя следующий скрипт (спасибо nograpes):
size <- 2 # size of window
len <- nrow(d) - size +1 # number of sliding windows to perform
sumsmatrix <- apply(d, 2, function(x)
cumsum(x)[size:nrow(d)] - c(0,cumsum(x)[1:(len-1)]))
И дает следующий результат:
y
3
5
7
9
11
13
15
17
19
Моя просьба - выполнить cumsum, перемещая окно, а не скользя. Например взять мой размер окна 2, я хотел бы вычислить cumsum первых двух строк столбца, а затем перейти на 3-й и вычислить для 3-го и 4-го и так далее ..
Желаемая выход:
y
1
3
3
7
5
11
7
15
9
19
Как я могу настроить скрипт в соответствии со своими потребностями?