En este documento se explican las estructuras de control
if
, for
y
while
en R, con ejemplos prácticos que
muestran cómo utilizarlas para resolver problemas reales.
if
La sentencia if
permite ejecutar código
condicionalmente, dependiendo de si una condición lógica es
verdadera (TRUE) o falsa
(FALSE).
También se puede complementar con else if
y
else
.
Sintaxis:
if (condición) {
# Código si la condición es TRUE
} else if (otra_condición) {
# Código si la otra condición es TRUE
} else {
# Código si ninguna condición se cumple
}
Determinar si un número ingresado por el usuario es positivo, negativo o cero.
numero <- -3
if (numero > 0) {
cat("El número es positivo\n")
} else if (numero == 0) {
cat("El número es cero\n")
} else {
cat("El número es negativo\n")
}
## El número es negativo
for
El bucle for ejecuta un bloque de código un número determinado de veces, recorriendo una secuencia de valores.
Sintaxis:
for (variable in secuencia) {
# Código a repetir
}
Calcular la suma de los primeros 10 números enteros positivos.
suma <- 0
for (i in 1:10) {
suma <- suma + i
}
cat("La suma de los primeros 10 enteros es:", suma, "\n")
## La suma de los primeros 10 enteros es: 55
while
El bucle while ejecuta código mientras se cumpla una condición lógica. Es útil cuando no se sabe cuántas repeticiones serán necesarias.
Sintaxis:
while (condición) {
# Código a repetir
}
Generar números aleatorios entre 0 y 1 y sumarlos hasta que la suma supere 3.
suma <- 0
contador <- 0
numeros<-c()
while (suma <= 3) {
numero <- runif(1) # números aleatorios entre [0,1] con distribución uniforme.
numeros<-c(numeros,numero)
suma <- suma + numero
contador <- contador + 1
}
cat("Se generaron", contador, "números aleatorios.\n")
## Se generaron 6 números aleatorios.
cat("La suma final fue:", suma, "\n")
## La suma final fue: 3.072931
cat("los numeros fueron", numeros,"\n")
## los numeros fueron 0.5783545 0.1587396 0.2979601 0.720497 0.954169 0.3632106