There are a few ways you can calculate the moving sum in the r:
R-base
diff(c(0, cumsum(1:10)), 5)
# 15 20 25 30 35 40
This proposal can be generalized as a function:
soma_movel <- function(x, n) {
  diff(c(0, cumsum(x)), n)
}
Zoo
The package zoo, as raised in the comments, it has a function for this, but it does not play very well
zoo::rollsum(1:10, 5)
# 15 20 25 30 35 40
Comparison
set.seed(123)
vetor <- rnorm(1e5) # 100 mil números
# As funções retornam valores iguais?
all.equal(zoo::rollsum(vetor, 5), soma_movel(vetor, 5))
# [1] TRUE
Finally, a comparison in the performance of the solutions raised shows that even being more about 80 times faster than with the zoo, the solution with the base still loses to the solution with the RcppRoll presented by Daniel in 5 times.
microbenchmark::microbenchmark(
  zoo = zoo::rollsum(vetor, 5),
  base = soma_movel(vetor, 5), 
  cpp = RcppRoll::roll_sum(vetor, n = 5),
  times = 30
)
Unit: microseconds
 expr        min         lq       mean     median         uq        max neval cld
  zoo 200659.545 204218.475 208418.887 206276.601 209928.673 255552.267    30   b
 base   2229.273   2536.157   3379.694   2633.918   2755.286   7725.985    30  a 
  cpp    452.116    514.725   6966.097    558.089    577.333 188068.577    30  a 
							
							
						 
With the package
zoo, tryrollsum(presidents, k = 5).– Rui Barradas