André, boa tarde!
Não sei se já conseguiu resolver... mas segue mais uma ideia!
###<code r>
f <- function(vec, iter, lim) {
# (vec)tor, (iter)ações e (lim)ite superior
print(vec)
for (i in 1:iter) {
vec = vec+1
over = which(vec>=lim)
vec[over] <- vec[over]-lim
print(vec)}}
x1 <- c(1,2,5,6)
x2 <- c(0,1,5,6,9,12,15,16,18,19)
f(x1, 10, 10)
f(x1, 12, 8)
f(x2, 20, 20)
###</code>