El control de flujo permite que el programa tome decisiones y repita tareas.
Condicional if / else:
Para condiciones vectorizadas (elemento a elemento) se usa ifelse():
Bucle for — repite sobre los elementos de un vector:
Bucle while — repite mientras se cumpla una condición:
Dentro de un bucle, break lo detiene y next salta a la siguiente iteración:
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:
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 »
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 forEn 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 »