Domine o loop for para agilizar cálculos complexos e outras operações repetitivas.
Loops são uma estrutura básica em programação que pega um bloco de código e o executa repetidamente. For loops são um dos tipos de loops que quase todas as linguagens contêm. Os loops for do R são parte integrante da análise de dados.
Eles atendem a uma variedade de propósitos, desde a formatação da saída até a execução de cálculos em grandes conjuntos de dados. O uso de loops for em R facilita a execução da análise de dados.
R's Basic for Loop
O loop for da linguagem R funciona de forma semelhante ao padrão for loops encontrados em Go e a maioria das outras linguagens de programação. Dado um ponto de partida, ele executará o código contido nele um determinado número de vezes.
Um contador contém a iteração em que o loop está ativado no momento e você pode acessá-lo a partir do bloco de código associado. Os loops podem ser executados por um número fixo de iterações ou pelo comprimento total de uma matriz, vetor ou lista.
Loops de iteração fixos
Os loops de iteração fixos em R assumem a seguinte forma:
para (x em1:10) {
imprimir (x)
}
O x no loop é a variável que armazenará a iteração do loop.
Após a palavra-chave “in” estão os pontos inicial e final do loop. O loop iniciará seu iterador no primeiro número.
Após cada vez que o código no loop for executado, ele verificará se o iterador é igual ao número após os dois pontos.
Se for, a execução do código continuará após o loop. Caso contrário, o iterador aumentará em 1 e o bloco de código entre colchetes será executado novamente.
For Loops em matrizes, listas e vetores
Assim como percorrendo um dicionário em Python, você pode iterar sobre estruturas de dados apropriadas em R usando o loop for. Você pode usar qualquer estrutura de dados iterável após a palavra-chave “in”, no lugar de um ponto inicial e final fixo.
Fazer um loop dessa maneira mudará o comportamento do código. Aqui, o loop funcionará como um loop foreach de linguagens como C#:
empregados "ben", "Jane", "Suzi", "Josh", "Carol")
para (x em funcionários) {
imprimir (x)
}
Agora, em vez de x conter a iteração atual do loop, ele conterá o objeto da matriz ou lista em que o loop está atualmente. Após a conclusão de cada loop, se houver mais itens na lista, array ou vetor, x será definido como o próximo item. Se não houver mais itens, a execução continuará com o código após o loop.
A função c primitiva e for Loops
Além das estruturas de dados já preenchidas, o R pode compor uma nova na declaração do loop for. Para fazer isso, use a função c para combinar vários elementos em um novo vetor.
Você pode simplificar o exemplo acima usando este método:
para (x em c("ben", "Jane", "Suzi", "Josh", "Carol")) {
imprimir (x)
}
Observe que a saída é a mesma de antes:
Declarações de salto do R
Duas instruções permitem pular iterações de loop: break e next. Eles conseguem isso de maneiras diferentes. Você deve se certificar de que sabe a diferença entre os dois.
A pausa palavra-chave
Quando um loop encontra uma instrução break dentro de si, ele imediatamente fecha o loop. Como o programa sai do loop assim que atinge a palavra-chave break, ele não executará nenhum código restante novamente:
dias "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado",
"Domingo")para (x em dias) {
se (x == "Sábado") {
quebrar
}
imprimir (x)
}
O loop acima imprimirá todos os dias da semana, mas nenhum dos dias de fim de semana.
A próxima palavra-chave
A palavra-chave next também pula uma iteração, mas ao contrário de break, next não fecha o loop imediatamente. O loop permanecendo aberto significa que qualquer código adicional dentro do loop atual não será executado, mas a próxima iteração continuará conforme planejado:
dias "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado",
"Domingo")para (x em dias) {
se (x == "Sábado") {
próximo
}
imprimir (x)
}
Este loop produzirá a cada dia da semana e domingo, mas não imprimirá o sábado.
Exemplo de Loops em R
Há uma grande variedade de situações em que loops for são úteis em R. Eles podem ser uma ótima maneira de executar cálculos repetitivos, como adicionar números para obter um total:
pedidos 23.4, 699.8, 1042.0)
total 0.0para (ordem em pedidos) {
total }
gato("o total é $", total, "\n")
Este exemplo adicionará um total de pedido de cada pedido individual em uma lista ao total geral.
Como alternativa, um loop for pode ajudá-lo a produzir com rapidez e facilidade grandes quantidades de dados bem formatados:
dias_totais 567.82, 364.72, 762.81, 354.99, 622.87)
para (dia em1:comprimento (day_totals)) {
gato("Dia #", dia, ": $", dias_totais[dia],"\n")
dia 1
}
Você pode usar um loop for para imprimir cada dia da semana e o total de vendas desse dia específico.
Você pode usar um loop for para calcular resultados e disponibilizá-los para código fora do loop for, para obter uma variedade de informações:
pontuações_teste 67, 89, 72, 44)
pontuação_total 0
num_testes 0para (pontuação em resultados dos testes) {
pontuação_total num_tests 1
}
average_score imprimir (pontuação_média)
O loop acima calculará a pontuação média que os alunos obtiveram em um teste.
Tudo o que você precisa saber sobre R's for Loops
Aprender a executar um número definido de loops ou iterar em um conjunto de dados sem um comprimento fixo é essencial.
Se você precisa executar cálculos repetidos em uma matriz, imprimir todos os itens em uma lista ou mostrar um grande lote de dados em um formato legível, o loop for do R pode ajudar.
Compreender os princípios subjacentes por trás dos loops for é uma habilidade valiosa para se ter em seu arsenal, e dominá-la pode ajudá-lo a escrever um código simples e fácil de ler.