Существует 2 интерпретации: либо накопленное накопление, где
C3 = (A2+B2)*C2 = (A2+B2)*(A1+A1)* ...
, либо простой продукт с задержкой:
C1 = (A1+B1)
C2 = (A2+B2)*(A1+B1)
C3 = (A3+B3)*(A2+B1)
Для 1), вы можете просто использовать накопленное произведение:
df <- data.frame(a=1:5, b=4:8)
df$C <- with(df, a+b)
df$C <- with(df, cumprod(C))
df
a b C
1 1 4 5
2 2 5 35
3 3 6 315
4 4 7 3465
5 5 8 45045
Для 2) результат умножается на вектор смещения результата:
df <- data.frame(a=1:5, b=4:8)
df$C <- with(df, a+b)
df$C <- with(df, C*c(1,C[-length(C)]))
df
a b C
1 1 4 5
2 2 5 35
3 3 6 63
4 4 7 99
5 5 8 143