The classic forum is still available at https://pipflow.com/oldforum/index.php.
Forum Sign in Register

Control de flujo: if, for y while

Started by waldo 1 day ago · 0 replies

El control de flujo permite que el programa tome decisiones y repita tareas.

Condicional if / else:

x <- 7
if (x > 5) {
print("mayor que 5")
} else {
print("5 o menos")
}


Para condiciones vectorizadas (elemento a elemento) se usa ifelse():

v <- c(-2, 3, -1, 8)
ifelse(v >= 0, "positivo", "negativo")


Bucle for — repite sobre los elementos de un vector:

for (i in 1:3) {
print(i * 10)
}


Bucle while — repite mientras se cumpla una condición:

n <- 1
while (n <= 3) {
print(n)
n <- n + 1
}


Dentro de un bucle, break lo detiene y next salta a la siguiente iteración:

for (i in 1:5) {
if (i == 4) break
if (i == 2) next
print(i)
}


Consejo: en R, siempre que se pueda, es preferible la vectorización (operar sobre todo el vector a la vez) antes que un bucle, porque es más rápida y más legible:

v <- 1:1000
total <- sum(v) # en vez de sumar uno a uno con un for


En la próxima lección veremos cómo crear nuestras propias funciones.



Curso de R
« Lección anterior: Estructuras de datos: listas, matrices y data frames | Lección siguiente: Funciones en R »

Sign in to reply.