Tenemos la mejor solución que descubrimos en internet. Nuestro deseo es que te sirva de ayuda y si puedes comentarnos algo que nos pueda ayudar a mejorar siente la libertad de hacerlo..
Solución:
Bastante autoexplicativo.
repeat
statements...
if(condition)
break
O algo así, pensaría yo. Para obtener el efecto del ciclo do while, simplemente verifique su condición al final del grupo de declaraciones.
Ver ?Control
o la definición del lenguaje R:
> y=0
> while(y <5) print( y<-y+1)
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
Asi que do_while
no existe como una construcción separada en R, pero puede falsificarlo con:
repeat( expressions; if (! end_cond_expr ) break )
Si quieres ver la página de ayuda no puedes escribir ?while
o ?repeat
en la consola, sino que necesita usar ?'repeat'
o ?'while'
. Todas las "construcciones de control" incluyendo if
están en la misma página y todos necesitan comillas de caracteres después del "?" para que el intérprete no los vea como código incompleto y le dé un "+" de continuación.
Sobre la base de las otras respuestas, quería compartir un ejemplo del uso de la construcción de bucle while para lograr un comportamiento do-while. Usando una variable booleana simple en la condición while (inicializada en TRUE), y luego verificando nuestra condición real más adelante en la declaración if. También se podría usar una palabra clave break en lugar de continuar <- FALSO dentro de la declaración if (probablemente más eficiente).
df <- data.frame(X=c(), R=c())
x <- x0
continue <- TRUE
while(continue)
xi <- (11 * x) %% 16
df <- rbind(df, data.frame(X=x, R=xi))
x <- xi
if(xi == x0)
continue <- FALSE
valoraciones y reseñas
Si crees que ha sido de ayuda nuestro post, te agradeceríamos que lo compartas con el resto desarrolladores y nos ayudes a difundir esta información.