Para bucle en R

El bucle for en el lenguaje de programación R es útil para iterar sobre los elementos de una lista, marco de datos, vector, array o cualquier otro objeto. Significa que el bucle for se puede usar para ejecutar un grupo de declaraciones repetidamente dependiendo de la cantidad de elementos en el objeto. Es un ciclo controlado por entrada, en este ciclo se prueba primero la condición de prueba, luego se ejecuta el cuerpo del ciclo, el cuerpo del ciclo no se ejecutaría si la condición de prueba es falsa.

For loop en R Sintaxis: 

for (var in vector) {
    statement(s)    
}

Aquí, var toma cada valor de vector durante el ciclo. En cada iteración, se evalúan las sentencias.

Diagrama de flujo del bucle For en R:

Ejemplo 1: Iterando sobre un rango en R – For loop

R

# R Program to demonstrate
# the use of for loop
for (i in 1: 4)
{
    print(i ^ 2)
}

Producción: 

[1] 1
[1] 4
[1] 9
[1] 16

En el ejemplo anterior, iteramos sobre el rango de 1 a 4, que era nuestro vector. Ahora bien, puede haber varias variaciones de este bucle for general. En lugar de usar una secuencia 1:5, también podemos usar la función de concatenación.

Ejemplo 2: Uso de la función de concatenación en R – For loop

R

# R Program to demonstrate the use of
# for loop along with concatenate
for (i in c(-8, 9, 11, 45))
{
    print(i)
}

Producción: 

[1] -8
[1] 9
[1] 11
[1] 45

En lugar de escribir nuestro vector dentro del ciclo, también podemos definirlo de antemano.

Ejemplo 3: Uso de concatenar fuera del ciclo R – For loop

R

# R Program to demonstrate the use of
# for loop with vector
x <- c(-8, 9, 11, 45)
for (i in x)
{
    print(i)
}

Producción: 

[1] -8
[1] 9
[1] 11
[1] 45

Bucle For anidado en R 

El lenguaje de programación R permite usar un bucle dentro de otro bucle. En el anidamiento de bucles, podemos poner cualquier tipo de bucle dentro de cualquier otro tipo de bucle. Por ejemplo, un bucle for puede estar dentro de un bucle while o viceversa. La siguiente sección muestra un ejemplo para ilustrar el concepto: 

Ejemplo:

R

# R Program to demonstrate the use of
# nested for loop
for (i in 1:3)
{
    for (j in 1:i)
    {
        print(i * j)
    }
}

Producción: 

[1] 1
[1] 2
[1] 4
[1] 3
[1] 6
[1] 9

Declaraciones de salto en R

Usamos una declaración de salto en bucles para terminar el bucle en una iteración particular o para omitir una iteración particular en el bucle. Las dos declaraciones de salto más utilizadas en los bucles son: 

Declaración de ruptura:

Una declaración de ruptura es una declaración de salto que se utiliza para terminar el ciclo en una iteración particular. Luego, el programa continúa con la siguiente declaración fuera del ciclo (si corresponde).

Ejemplo: 

R

# R Program to demonstrate the use of
# break in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        break
    }
   print(i)
}
print("Outside Loop")

Producción:

[1] 3
[1] 6
[1] 23
[1] 19
[1] Outside loop

Aquí el bucle sale tan pronto como se encuentra el cero. 

Siguiente declaración

Interrumpe una iteración particular y salta a la siguiente iteración. Entonces, cuando se encuentra next, esa iteración se descarta y la condición se verifica nuevamente. Si es verdadero, se ejecuta la siguiente iteración. Por lo tanto, la siguiente declaración se usa para omitir una iteración particular en el ciclo.

Ejemplo: 

R

# R Program to demonstrate the use of
# next in for loop
for (i in c(3, 6, 23, 19, 0, 21))
{
    if (i == 0)
    {
        next
    }
    print(i)
}
print('Outside Loop')

Producción: 

[1] 3
[1] 6
[1] 23
[1] 19
[1] 21
[1] Outside loop

Aquí, tan pronto como se encuentra cero, esa iteración se interrumpe y la condición se verifica nuevamente. Como 21 no es igual a 0, se imprime. Como podemos concluir de los dos programas anteriores, la diferencia básica entre las dos sentencias de salto es que la sentencia break finaliza el bucle y la sentencia next salta una iteración particular del bucle.

Publicación traducida automáticamente

Artículo escrito por srishtirajani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *