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

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!