While loops dans R : fonctionnement des boucles while dans r

Les boucles correspondent à l’un des concepts de base de la programmation. Elles permettent de répéter l’exécution de certains extraits de code, et ce, sous une condition donnée. Avec les boucles while dans R, une section de programme spécifique se répète jusqu’à ce que la condition précédemment définie ne soit plus remplie.

À quoi servent les boucles while dans R ?

Les boucles while sont utilisées pour exécuter du code de programme de manière répétée, sur la base d’une condition. Si cette condition est remplie, alors le code contenu dans le bloc de la boucle while est exécuté.

Dans le cadre de la programmation en R, les boucles sont souvent utilisées pour itérer sur des éléments d’une liste en R, puis exécuter des opérations particulières pour chaque élément de cette liste, de manière distincte. Par exemple, à partir d’une liste de Strings en R, chaque String peut être affichée à l’écran. Toutefois, les while loops dans R permettent également d’exécuter du code en fonction d’une condition. De plus, les boucles comme la while loop servent de base à l’implémentation d’algorithmes de tri populaires, qui servent à classer un ensemble de données selon des critères particuliers.

Structure et syntaxe des while loops dans R

La syntaxe des while loops dans R est semblable à la structure des boucles while présentes dans la majorité des autres langages de programmation. Dans l’en-tête de la boucle, bien entendu introduit par le mot-clé while, la condition apparaît entre parenthèses. Celle-ci doit être respectée pour que le reste de la boucle s’exécute. Le corps de la boucle est en fait un simple bloc de code distinct, qui vient juste après l’en-tête de la boucle et qui est entouré d’accolades.

Vous voulez vous faire une idée plus précise de la syntaxe ? Un exemple peut vous y aider. Ci-dessous, l’exemple de loop dans R porte sur une boucle while affichant les valeurs allant de 1 à 10 :

x <- 1
while (x <= 10) {
    print(x)
    x <- x + 1
}
R

Exemple : tri à bulles avec R

Le tri à bulles compte parmi les algorithmes de tri classiques. Il est utilisé pour trier dans l’ordre croissant les éléments d’un vecteur en R ou d’un tableau en R. Dans le cadre de cet algorithme de tri, une boucle while est utilisée pour exécuter le code relatif au tri jusqu’à ce que l’ensemble des éléments du vecteur soient triés :

bubblesort <- function(x) {
    swapped <- TRUE
    n <- length(x) - 1
    while (swapped) {
        swapped <- FALSE
        for (i in 1:n) {
            if (x[i] > x[i+1]) {
                tmp <- x[i]
                x[i] <- x[i+1]
                x[i+1] <- tmp
                swapped <-TRUE
                }
        }
    }
    return(x)
}
R

Dans le code ci-dessus, une fonction en R du nom de bubblesort est créée. Celle-ci permet de trier dans l’ordre croissant un vecteur numérique. La boucle while est alors utilisée pour la procédure d’échange essentielle dans le cadre du tri à bulles, et ce, jusqu’à ce que le tri soit terminé.

Interrompre une while loop dans R

Pour interrompre avant la fin une while loop selon une certaine condition, il est possible d’utiliser le mot-clé « break ». Celui-ci permet d’interrompre la boucle et de faire en sorte qu’elle ne recommence plus. Pour que vous compreniez mieux ce principe, voici un exemple d’utilisation du mot-clé « break » :

x <- 10
while (x >= 0) {
    print(x)
    if (x == 5) {
        break
        }
        x <- x - 1
}
R

Ci-dessus, la boucle affiche à l’écran les nombres allant de 10 à 5. Une fois que la variable « x » parvient à la valeur « 5 », la condition « if » est exécutée en R, et la boucle est interrompue avant la fin grâce à l’appel du mot-clé « break ».

Autres boucles dans R

La while loop dans R n’est pas la seule forme de boucle qui existe dans R ; vous pouvez également utiliser la boucle for, souvent vue comme un type de boucle de comptage, de même que la boucle repeat, si vous souhaitez exécuter un code à plusieurs reprises, indépendamment de toute condition. Il convient d’interrompre les boucles repeat à l’aide du mot-clé « break », sans quoi ces dernières n’auraient jamais de fin.

Boucle for dans R

Les boucles for sont utilisées lorsque le nombre d’itérations de la boucle est connu au préalable. Le nombre d’itérations est précisé de façon explicite dans l’en-tête de la boucle. Vous trouverez ci-dessous un exemple de boucle for affichant les chiffres de 1 à 5 :

for (z in 1:5) {
print(i)
}
R

Boucle repeat dans R

Les repeat loops dans R sont utilisées pour exécuter un code à plusieurs reprises, indépendamment de toute condition. Si vous avez déjà appris à programmer, vous connaissez sans doute les do while loops utilisés dans d’autres langages de programmation, tels que Java. Il n’existe explicitement aucune do while loop en R (il s’agit d’une boucle dans laquelle un bloc de code est exécuté une fois au moins). Néanmoins, vous pouvez implémenter cette fonction très simplement à l’aide de boucles repeat :

x <- 1
repeat {
    print(x)
    if (x >= 10) {
        break
        }
x <- x + 1
}
R

Ci-dessus, l’exemple de code affiche à l’écran les nombres allant de 1 à 10. Le code devant être exécuté au moins une fois (qui se trouverait dans le bloc de code « do » d’une do while loop classique) est mis en œuvre avant l’instruction « if », qui se charge d’interrompre la boucle si la condition précisée est bien satisfaite.

Cet article vous a-t-il été utile ?
Page top