For-Loop em R DataFrame

For Loop Em R Dataframe



O loop for é uma estrutura de controle que nos permite repetir um conjunto de instruções em um número especificado de vezes. É um método comumente utilizado para iteração no R, principalmente quando precisamos realizar a mesma operação em alguns elementos ou iterar sobre uma estrutura de dados como a do DataFrame. Linhas e colunas compõem os DataFrames em R, onde cada linha representa uma única observação e cada coluna denota uma variável ou aspecto dessa observação.

Com este artigo específico, usamos um loop for para iterar no DataFrame em diferentes abordagens. Esteja ciente de que a iteração do loop for em linhas e colunas pode ser altamente computacional para grandes DataFrames.







Exemplo 1: Usando For-Loop sobre DataFrame Rows em R

O loop for em R pode ser usado para iterar nas linhas de um DataFrame. Dentro do loop for, podemos usar o índice de linha para acessar cada linha do DataFrame. Vamos considerar o seguinte código R, que é a demonstração do loop for para iterar nas linhas do DataFrame especificado.



data = data.frame(c1 = c(1:5),

c2 = c(6:10),

c3 = c(11:15))

for(i in 1:nrow(data)) {

linha <- dados[i, ]

imprimir(linha)

}

Aqui, primeiro definimos a função data.frame() dentro dos “dados”. A função data.frame() aqui contém três colunas. Cada coluna é definida com uma sequência de números de 1 a 5, 6 a 10 e 11 a 15, respectivamente. Depois disso, a função for-loop é implantada, que itera sobre as linhas dos “dados” do DataFrame usando a função nrow() para obter o número total de linhas. A variável de loop, “i”, assume os valores para o número inteiro de linhas em “dados”.



Em seguida, extraímos a i-ésima linha do DataFrame “dados” usando a notação de colchetes “[ ]”. A linha extraída é armazenada em uma variável “row” que será impressa pela função print().





Portanto, o loop itera sobre todas as linhas no DataFrame e exibe os números das linhas na saída junto com os valores da coluna.



Exemplo 2: Usando For-Loop em Colunas DataFrame

Da mesma forma, podemos usar o loop for em R para percorrer as colunas do dataframe especificado. Podemos usar o código anterior para percorrer as colunas, mas devemos usar a função ncol() no loop for. Por outro lado, temos a abordagem mais simples para fazer um loop nas colunas do DataFrame usando for-loop. Considere o seguinte código R para isso:

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

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

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

for(col in nomes das colunas(df)) {

coluna <- df[[col]]

imprimir(coluna)

}

Aqui, primeiro criamos a variável df onde o data.frame() é empregado com a inserção de colunas. O DataFrame “df” contém três colunas que contêm valores numéricos. Em seguida, usamos um loop for para iterar sobre os nomes das colunas do DataFrame “dados” usando a função colnames(). Em cada iteração, a variável de loop “col” assume o nome da coluna atual. A coluna extraída é então armazenada em uma nova variável que é “coluna”.

Assim, os dados da variável “coluna” imprimem a saída no seguinte console:

Exemplo 3: Usando For-Loop em todo o DataFrame

Nos exemplos anteriores, fizemos um loop nas colunas e linhas usando o loop for, respectivamente. Agora, usamos os loops for aninhados para iterar sobre as linhas e colunas de um DataFrame, simultaneamente. O código de R é fornecido a seguir, onde o loop for aninhado é usado nas colunas e linhas:

funcionários <- data.frame(id=1:4,

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

location=c('Austrália', 'América', 'Canadá', 'Jordânia'),

salário=c(2000, 1800, 1500, 1000))

for (linha em 1:nrow(funcionários)) {

for (col in 1:ncol(funcionários)) {

print(paste('Índice da linha', linha, 'nome da coluna', coluna, 'valor da célula', funcionários[linha, coluna]))

}

}

Aqui, declaramos a variável “funcionários” onde o data.frame() é chamado para definir as colunas. Os valores em cada coluna são especificados usando vetores. Em seguida, para a linha e a coluna do DataFrame “funcionários”, usamos dois loops for aninhados para iterar os dados. O loop externo itera sobre as linhas do DataFrame especificado usando “1:nrow(employees)”. Para cada linha, “1:ncol(employees)” é usado no loop interno para iterar repetidamente nas colunas do DataFrame.

Depois disso, temos uma função print() dentro dos loops aninhados que implementa a função paste() para concatenar o índice de linha, índice de coluna e valor de célula em uma única string. A expressão funcionário [row, col] aqui obtém o valor na célula atual em que linha e coluna são os índices de linha e coluna existentes, respectivamente.

Assim, a saída no console é recuperada com o índice de linha concatenado, índice de coluna e valor de célula em uma única string.

Exemplo 4: Método alternativo For-Loop em R

O loop for agora está desatualizado na linguagem R. No entanto, ele fornece alguns métodos alternativos que funcionam da mesma forma que o loop for e são mais rápidos que os loops for. O método é das funções “apply family” que executam o loop for em segundo plano para iterar sobre DataFrames. Vamos considerar o seguinte código R onde a função sapply() é usada para fazer um loop sobre o DataFrame.

dfX <- data.frame(var1=c(1:5),

var2=c(6:10),

var3=c(11:15),

var4=c(16:20))

dfX

sapply(dfX, soma)

Aqui, primeiro estabelecemos o DataFrame “dfX” chamando a função data.frame() com duas colunas, cada uma contendo valores numéricos. Em seguida, imprimimos o DataFrame “dfX” original no console. Na próxima etapa, usamos a função sapply() para iterar sobre o DataFrame fornecido e obter a soma de cada coluna. A função sapply() usa os argumentos “x” e “FUN” em geral. Nesse caso, X é o DataFrame “dfX” e “FUN” é a função sum() aplicada a cada uma das colunas do DataFrame.

O resultado da iteração que é obtido através da função sapply() é obtido na tela a seguir. Os resultados da operação de soma do DataFrame são mostrados para cada coluna. Além disso, também podemos usar algumas outras funções da “família apply” para a operação for-loop em R:

Conclusão

Trabalhamos com for-loops para iterar sobre as linhas ou colunas do DataFrame para executar uma operação específica. O loop for é usado individualmente para iterar sobre as colunas e linhas. Além disso, usamos isso para iteração em colunas e linhas do dataframe ao mesmo tempo. Na maioria das vezes, aplicar funções para obter o resultado desejado é mais eficaz. O exemplo da função apply é dado no último exemplo sobre a operação for-loop.