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

Boucles R

Parfois, nous pouvons avoir besoin de répéter plusieurs fois le même bloc de code. En règle générale, les instructions sont exécutées dans l'ordre : la première instruction d'une fonction est exécutée d'abord, suivie de la deuxième instruction, et ainsi de suite.

Les langages de programmation fournissent plusieurs structures de contrôle plus complexes pour des chemins d'exécution plus complexes.

Les instructions de boucle permettent d'exécuter plusieurs fois une instruction ou un groupe d'instructions, voici un diagramme de flux des instructions de boucle dans la plupart des langages de programmation :


Les types de boucles fournis par R sont :

  • boucle repeat

  • while  boucle

  • for    boucle

Les instructions de contrôle de boucle fournies par R sont :

  • instruction break

  • instruction Next

Les instructions de contrôle de boucle changent l'ordre d'exécution de votre code, vous permettant de réaliser des sauts dans le code.

type de boucle

repeat

La boucle repeat répète l'exécution du code jusqu'à ce que la condition soit false, auquel cas elle quitte la boucle en utilisant l'instruction break.

Le format de syntaxe est le suivant :

repeat { 
    // code pertinent 
    if(condition) {
       break
    }
}

L'exemple suivant montre que lorsque la variable cnt vaut 5 quitter la boucle, cnt est une variable de comptage :

v  ,
cnt  
 
   v
   cnt  cnt
   
   cnt

Exécuter le code ci-dessus, le résultat de l'entrée est :

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

while

Tant que la condition donnée est true, l'instruction de boucle while en R répète l'exécution d'une instruction cible.

Le format de syntaxe est le suivant :

while(condition)
{
   statement(s);
}

Dans ce contexte, statement(s) peut être une instruction seule ou un bloc de code composé de plusieurs instructions.

La condition peut être n'importe quelle expression, elle est toujours true lorsque sa valeur n'est pas nulle. Lorsque la condition est true, l'exécution de la boucle est répétée. Lorsque la condition est false, la boucle s'arrête et le flux du programme continue avec l'instruction suivante qui suit la boucle.

Voici l'exemple suivant lorsque le variable cnt est 7 Lorsque vous affichez le contenu du bloc while, cnt est le variable de compte :

v  ,
cnt  
 cnt   
   v
   cnt  cnt

Exécuter le code ci-dessus, le résultat de l'entrée est :

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

for

La directive for du langage de programmation R peut répéter l'exécution d'instructions spécifiées, et le nombre de répétitions peut être contrôlé dans la directive for.

Le format de syntaxe est le suivant :

for (value in vector) {
    instructions
}

Les boucles for du langage R sont particulièrement flexibles, et peuvent non seulement itérer sur des variables entières, mais aussi sur des vecteurs de caractères, des vecteurs logiques, des listes et d'autres types de données.

Voici les sorties d'exemple 26 Un lettre pour les quatre lettres précédentes :

v  
  i  v 
   i

Exécuter le code ci-dessus, le résultat de l'entrée est :

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

Contrôle de boucle

break

La directive break du langage R est insérée dans le corps de la boucle, utilisée pour quitter la boucle actuelle ou l'instruction et commencer à exécuter l'instruction suivante immédiatement après le script.

Si vous utilisez des boucles imbriquées, la directive break arrêtera l'exécution de la boucle la plus interne et commencera à exécuter la boucle externe suivante.

break est également souvent utilisé dans les instructions switch.

Le format de syntaxe est le suivant :

break

Voici l'exemple suivant lorsque le variable cnt est 5 Lorsque vous utilisez break pour sortir de la boucle, cnt est le variable de compte :

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

Exécuter le code ci-dessus, le résultat de l'entrée est :

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

next

La directive next est utilisée pour sauter la boucle actuelle et commencer la boucle suivante (similaire à continue dans d'autres langages).

Le format de syntaxe est le suivant :

next

Voici les sorties d'exemple 26 Devant la lettre 6 Un lettre, au moment où la lettre est D, passe la boucle actuelle et passe à la boucle suivante :

v  
  i  v 
   
    i     
      
   
   i

Exécuter le code ci-dessus, le résultat de l'entrée est :

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