Segue abaixo uma possível solução:

f <- Vectorize(function(x, i) {
  x <- x + i
    p1 <- x %/% 10
    p2 <- x %% 10
    p1 + p2
}, 'i')

vi <- c(1,2,5,6)
f(vi, 1:9)

Att,
Rubem

De: "andrebvs@bol.com.br" <andrebvs@bol.com.br>
Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>
Enviadas: Sábado, 2 de Agosto de 2014 18:03
Assunto: [R-br] Ciclo de um vetor a partir de restrição dada

Olá colegas,

Gostaria de saber como fazer uma função no R, de modo que, quando eu some o valor 1 a um dado vetor inicial, o vetor seguinte seja um vetor resultante da soma do vetor inicial + 1, porém, com a restrição de que: se o último valor desse vetor resultante for igual ou superior ao valor 10, que este retorne para o valor inicial do vetor. Como exemplo, a idéia é:
 
# Vetor Inicial:
 
  vi <- c(1,2,5,6) 
 
# Vetores resultates: 
 
  2,3,6,7 (somando + 1 ao vetor inicial)
  3,4,7,8 (somando + 1 ao vetor anterior)
  4,5,8,9 (somando + 1 ao vetor anterior)
  5,6,9,1 (somando + 1 ao vetor anterior, neste caso, como iria ser 10 o último valor, volta-se para o valor inicial de vi, e assim por diante)
  6,7,1,2
  7,8,2,3
  8,9,3,4
  9,1,4,5
  1,2,5,6 # observe aqui, que voltei ao vetor inicial, dando a idéia de um ciclo.
 
Então, como faço uma função no R, de forma que eu tenha todos os vetores resultantes a partir de um vetor inicial dado?

desde já agradeço!

Att.
André

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.