English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Loop no R

Às vezes, podemos precisar executar o mesmo bloco de código várias vezes. Geralmente, as instruções são executadas em ordem: a primeira instrução dentro de uma função é executada primeiro, seguida pela segunda, e assim por diante.

As linguagens de programação fornecem várias estruturas de controle mais complexas para caminhos de execução.

As instruções de loop permitem que executemos uma instrução ou grupo de instruções várias vezes, aqui está um diagrama de fluxo de instrução de loop de linguagem de programação mais comum:


Os tipos de loop fornecidos pelo R são:

  • loop repeat

  • while loop

  • for loop

As instruções de controle de loop fornecidas pelo R são:

  • Instrução break

  • Instrução Next

As instruções de controle de loop mudam a ordem de execução do seu código, permitindo que você realize saltos no código.

Tipo de loop

repeat

O loop repeat continuará a executar o código até que a condição seja falsa, quando então o loop será encerrado, utilizando a instrução break.

O formato da sintaxe é o seguinte:

repeat { 
    // Código relevante 
    if(condition) {
       break
    }
}

O exemplo a seguir é quando a variável cnt é 5 sai do loop, cnt é a variável de contagem:

v ,
cnt  
 
   v
   cnt cnt
   
   cnt

Executar o código acima, o resultado de entrada é:

[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox

while

Enquanto a condição fornecida for verdadeira, a instrução de loop while do R repetirá uma instrução de destino.

O formato da sintaxe é o seguinte:

while(condition)
{
   statement(s);
}

Aqui, statement(s) pode ser uma instrução isolada ou um bloco de código composto por várias instruções.

A condição pode ser qualquer expressão, que será verdadeira para qualquer valor não nulo. Quando a condição é verdadeira, a execução do loop é repetida. Quando a condição é falsa, o loop é encerrado e o fluxo do programa continua com a próxima instrução após o loop.

O exemplo a seguir está no variável cnt menor 7 ao usar while para imprimir o conteúdo do bloco de instruções, cnt é o variável de contagem:

v ,
cnt  
 cnt   
   v
   cnt cnt

Executar o código acima, o resultado de entrada é:

[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox

for

A instrução for no idioma de programação R pode repetir a execução de instruções específicas, e o número de repetições pode ser controlado na instrução for.

O formato da sintaxe é o seguinte:

for (value in vector) {
    instruções
}

O loop for no R é especialmente flexível, pois não só pode iterar sobre variáveis inteiras, mas também pode iterar sobre vetores de caracteres, vetores lógicos, listas e outros tipos de dados.

A saída do exemplo a seguir 26 um caractere para os quatro primeiros caracteres:

v  
  i vazio 
   i

Executar o código acima, o resultado de entrada é:

[1] "A"
[1] "B"
[1] "C"
[1] "D"

Controle de Loop

break

A instrução break no R é inserida no corpo do loop e usada para sair do loop atual ou instrução e começar a execução da próxima instrução no script.

Se você usar loops aninhados, a instrução break parará a execução do loop mais interno e começará a executar o loop externo.

break também é usado frequentemente em instruções switch.

O formato da sintaxe é o seguinte:

break

O exemplo a seguir está no variável cnt 5 ao usar break para sair do loop, cnt é o variável de contagem:

v <- c("Google","w3codebox) cnt <- 2 repeat {   print(v)   cnt <- cnt+1     if(cnt > 5) {      break   } }

Executar o código acima, o resultado de entrada é:

[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox
[1] "Google" "w3codebox

next

A instrução next é usada para pular a iteração atual e começar a próxima iteração (semelhante ao continue em outros idiomas).

O formato da sintaxe é o seguinte:

next

A saída do exemplo a seguir 26 do caractere 6 um caractere, quando o caractere for D, pule a iteração atual e comece a próxima iteração:

v  
  i vazio 
   
    i     
      
   
   i

Executar o código acima, o resultado de entrada é:

[1] "A"
[1] "B"
[1] "C"
[1] "E"
[1] "F"