For-Loop en R DataFrame

For Loop En R Dataframe



El for-loop es una estructura de control que nos permite repetir un conjunto de instrucciones en un número específico de veces. Es un método comúnmente utilizado para la iteración en R, especialmente cuando necesitamos realizar la misma operación en algunos elementos o iterar sobre una estructura de datos como la del DataFrame. Las filas y columnas forman los marcos de datos en R, donde cada fila representa una sola observación y cada columna denota una variable o aspecto de esa observación.

Con este artículo en particular, usamos un ciclo for para iterar sobre el DataFrame en diferentes enfoques. Tenga en cuenta que la iteración del bucle for entre filas y columnas puede ser altamente computacional para tramas de datos grandes.







Ejemplo 1: Usar For-Loop Over DataFrame Rows en R

El ciclo for en R se puede usar para iterar sobre las filas de un DataFrame. Dentro del ciclo for, podemos usar el índice de fila para acceder a cada fila del DataFrame. Consideremos el siguiente código R, que es la demostración de for-loop para iterar sobre las filas del DataFrame especificado.



datos = datos.marco(c1 = c(1:5),

c2 = c(6:10),

c3 = c(11:15))

for(i en 1:nrow(datos)) {

fila <- datos[i, ]

imprimir (fila)

}

Aquí, primero definimos la función data.frame() dentro de los 'datos'. La función data.frame() aquí contiene tres columnas. Cada columna está configurada con una secuencia de números del 1 al 5, del 6 al 10 y del 11 al 15, respectivamente. Después de eso, se implementa la función for-loop que itera sobre las filas de los 'datos' de DataFrame usando la función nrow() para obtener el número total de filas. La variable de bucle, 'i', toma los valores de la cantidad total de filas en 'datos'.



Luego, extraemos la i-ésima fila de los 'datos' de DataFrame usando la notación de corchetes '[ ]'. La fila extraída se almacena en una variable de 'fila' que será impresa por la función print().





Por lo tanto, el ciclo itera sobre todas las filas en el DataFrame y muestra los números de fila en la salida junto con los valores de la columna.



Ejemplo 2: Usar For-Loop sobre columnas DataFrame

De manera similar, podemos usar el ciclo for en R para recorrer las columnas del marco de datos especificado. Podemos usar el código anterior para recorrer las columnas, pero debemos usar la función ncol() en el bucle for. Por el contrario, tenemos el enfoque más simple para recorrer las columnas del DataFrame usando for-loop. Considere el siguiente código R para esto:

df = data.frame(col1 = c(10, 20, 30, 40, 50),

columna2 = c(11, 21, 31, 41, 51),

columna3 = c(12, 22, 32, 42, 52))

for(col in colnames(df)) {

columna <- df[[columna]]

imprimir (columna)

}

Aquí, primero creamos la variable df donde se emplea data.frame() con la inserción de columnas. El marco de datos 'df' contiene tres columnas que contienen valores numéricos. A continuación, usamos un ciclo for para iterar sobre los nombres de las columnas del DataFrame de 'datos' usando la función colnames(). En cada iteración, la variable de bucle 'col' toma el nombre de la columna actual. La columna extraída luego se almacena en una nueva variable que es 'columna'.

Así, los datos de la variable “columna” imprimen la salida en la siguiente consola:

Ejemplo 3: uso de For-Loop en todo el marco de datos

En los ejemplos anteriores, recorrimos las columnas y las filas usando el bucle for, respectivamente. Ahora, usamos los bucles for anidados para iterar sobre las filas y las columnas de un DataFrame, simultáneamente. El código de R se proporciona a continuación, donde el bucle for anidado se usa sobre las columnas y filas:

empleados <- data.frame(id=1:4,

nombres=c('kim', 'John', 'Ian', 'Mark'),

ubicación=c('Australia', 'América', 'Canadá', 'Jordania'),

salario=c(2000, 1800, 1500, 1000))

para (fila en 1:nrow(empleados)) {

para (col en 1: ncol (empleados)) {

imprimir (pegar ('índice de fila', fila, 'nombre de columna', columna, 'valor de celda', empleados [fila, columna]))

    }

}

Aquí, declaramos la variable 'empleados' donde se llama a data.frame() para establecer las columnas. Los valores de cada columna se especifican mediante vectores. Luego, para la fila y la columna del DataFrame de 'empleados', usamos dos ciclos for anidados para iterar sobre los datos. El ciclo externo itera sobre las filas del DataFrame especificado usando '1:nrow(employees)'. Para cada fila, se usa '1:ncol(empleados)' en el ciclo interno para iterar repetidamente sobre las columnas del DataFrame.

Después de eso, tenemos una función print() dentro de los bucles anidados que implementa la función paste() para concatenar el índice de fila, el índice de columna y el valor de celda en una sola cadena. La expresión empleado [fila, columna] aquí obtiene el valor en la celda actual donde fila y columna son los índices de fila y columna existentes, respectivamente.

Por lo tanto, la salida en la consola se recupera con el índice de fila, el índice de columna y el valor de celda concatenados en una sola cadena.

Ejemplo 4: método alternativo For-Loop en R

El bucle for ahora está desactualizado en el lenguaje R. Sin embargo, proporciona algunos métodos alternativos que funcionan igual que el bucle for y son más rápidos que los bucles for. El método proviene de las funciones de 'aplicar familia' que se ejecutan en bucle for en segundo plano para iterar sobre DataFrames. Consideremos el siguiente código R donde se usa la función sapply() para recorrer el DataFrame.

dfX <- datos.marco(var1=c(1:5),

var2=c(6:10),

var3=c(11:15),

var4=c(16:20))

DFX

sapply(dfX, suma)

Aquí, primero establecemos el DataFrame 'dfX' llamando a la función data.frame() con dos columnas, cada una con valores numéricos. Luego imprimimos el DataFrame 'dfX' original en la consola. En el siguiente paso, usamos la función sapply() para iterar sobre el DataFrame proporcionado y obtener la suma de cada columna. La función sapply() toma los argumentos 'x' y 'FUN' en general. En este caso, X es el DataFrame 'dfX' y 'FUN' es la función sum() que se aplica a cada una de las columnas del DataFrame.

El resultado de la iteración que se logra a través de la función sapply() se logra en la siguiente pantalla. Los resultados de la operación de suma de DataFrame se muestran para cada columna. Además, también podemos usar algunas otras funciones de la 'familia de aplicación' para la operación de bucle for en R:

Conclusión

Trabajamos con bucles for para iterar sobre las filas o columnas del DataFrame para realizar una operación específica. El bucle for se usa individualmente para iterar sobre las columnas y filas. Además, usamos esto para iterar sobre columnas y filas del marco de datos al mismo tiempo. La mayoría de las veces, aplicar funciones para obtener el resultado deseado es más efectivo. El ejemplo de la función de aplicación se da en el último ejemplo sobre la operación de bucle for.