Cómo crear un bucle for anidado en R (incluidos ejemplos)

Un bucle for anidado le permite recorrer elementos en múltiples vectores (o múltiples dimensiones de una matriz) y realizar algunas operaciones.

La estructura básica de un bucle for en R es:

para (i en 1: 4) {
   imprimir (i)
}

[1] 1
[1] 2
[1] 3
[1] 4

Y la estructura básica de un bucle for anidado es:

para (i en 1: 4) {
   para (j en 1: 2) {
     imprimir (i * j)
  }
}

[1] 1
[1] 2
[1] 2
[1] 4
[1] 3
[dieciséis
[1] 4
[1] 8

Este tutorial muestra algunos ejemplos de cómo crear bucles for anidados en R.

Ejemplo 1: bucle for anidado en R

El siguiente código muestra cómo usar un bucle for anidado para completar los valores de una matriz de 4 × 4:

#create matrix
 empty_mat <- matrix (nrow = 4 , ncol = 4 )
 
#ver matriz vacía
alfombra_vacia
     [, 1] [, 2] [, 3] [, 4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA

#utilice el bucle for anidado para completar los valores de la matriz
 para (i en 1: 4) {
   para (j en 1: 4) {
    alfombra_vacío [i, j] = (i * j)
  }
}

#ver matriz
alfombra_vacia

     [, 1] [, 2] [, 3] [, 4]
[1,] 1 2 3 4
[2,] 2 4 6 8
[3,] 3 6 9 12
[4,] 4 8 12 16

Ejemplo 2: Bucle for anidado en R

El siguiente código muestra cómo usar un bucle for anidado para cuadrar cada valor en un marco de datos:

#create un marco de datos vacío
 df <- data.frame (var1 = c (1, 7, 4),
                 var2 = c (9, 13, 15))

#ver marco de datos vacío 
df

  var1 var2
1 1 9
2 7 13
3 4 15

#utilice el bucle for anidado para cuadrar cada valor en el marco de datos
 para (i en 1: nrow (df)) {
   para (j en 1: ncol (df)) {
    gl [i, j] = gl [i, j] ^ 2
  }
}

#ver nuevo marco de datos
df

  var1 var2
1 1 81
2 49 169
3 16 225

Una nota sobre el bucle

En general, los bucles for anidados funcionan bien en matrices o conjuntos de datos pequeños, pero tienden a ser bastante lentos con datos más grandes.

Para big data, la familia de funciones de aplicación tiende a ser mucho más rápida y el paquete data.table tiene muchas funciones integradas que funcionan de manera eficiente en conjuntos de datos más grandes.

Recursos adicionales

Cómo recorrer los nombres de las columnas en R
Cómo agregar filas a un marco de datos en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

R cuadrado es una medida de qué tan bien un modelo de regresión lineal "se ajusta" a un conjunto de…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!