Imbriqué pour les boucles dans R
-
Boucle
foren langage R -
Utilisez la boucle
forimbriquée pour parcourir les éléments de la matrice dans R
Cet article présentera les boucles for imbriquées dans R.
Boucle for en langage R
La boucle for est disponible en langage R avec des heuristiques similaires à celles de la plupart des langages de programmation. Il répète plusieurs fois le bloc de code donné. La syntaxe de la boucle for est la suivante.
for (item in set) {}
item est un objet qui stocke l’élément itéré du set. La boucle for ne renvoie pas de sortie, nous devons donc appeler la fonction print pour afficher la valeur word à chaque itération.
vec1 <- c("ace", "spades", "king", "spades", "queen", "spades", "jack",
"spades", "ten", "spades")
for (word in vec1) {
print(word)
}
Production:
[1] "ace"
[1] "spades"
[1] "king"
[1] "spades"
[1] "queen"
[1] "spades"
[1] "jack"
[1] "spades"
[1] "ten"
[1] "spades"
On peut aussi implémenter la boucle for, où l’index est exposé en tant que variable. Dans ce cas, la fonction length est utilisée pour calculer la taille du vecteur vec1 et itérer du premier élément à la fin. Notez que la notation 1: est importante et spécifie le début de la plage. L’exemple de code suivant crée un vecteur de chaîne copié dans un autre vecteur de la même taille à l’aide de la boucle for.
vec1 <- c("ace", "spades", "king", "spades", "queen", "spades", "jack",
"spades", "ten", "spades")
vec2 <- vector(length = length(vec1))
for (i in 1:length(vec1)) {
vec2[i] <- vec1[i]
}
vec2
Production:
[1] "ace" "spades" "king" "spades" "queen" "spades" "jack" "spades" "ten"
[10] "spades"
Utilisez la boucle for imbriquée pour parcourir les éléments de la matrice dans R
Les boucles imbriquées peuvent être implémentées en utilisant la structure de boucle for. Cela peut être utilisé pour itérer sur les éléments de la matrice et les initialiser avec des valeurs aléatoires. Notez que la notation générale est la même que dans l’exemple précédent, sauf que la fin de la plage est calculée avec les fonctions nrow et ncol. nrow et ncol renvoient respectivement le nombre de lignes ou de colonnes du tableau.
mat1 <- matrix(0, nrow = 5, ncol = 5)
for (i in 1:nrow(mat1)) {
for (j in 1:ncol(mat1)) {
mat1[i, j] <- sample(1:100, 1, replace=TRUE)
}
}
mat1
Production:
[,1] [,2] [,3] [,4] [,5]
[1,] 13 14 13 67 98
[2,] 28 50 23 55 9
[3,] 3 65 99 17 93
[4,] 18 6 20 50 46
[5,] 51 76 33 26 3
Bien que la structure de boucle imbriquée fonctionne correctement dans l’exemple de code précédent. L’initialisation de la matrice est mieux effectuée en utilisant la fonction sample enchaînée directement comme premier argument de la fonction matrix, comme indiqué dans l’extrait suivant.
mat2 <- matrix(sample(1:100, 25, replace = TRUE), ncol = 5)
mat2
Production:
[,1] [,2] [,3] [,4] [,5]
[1,] 85 19 26 53 88
[2,] 44 50 66 96 56
[3,] 42 46 37 19 66
[4,] 43 23 13 32 67
[5,] 56 51 21 2 56
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook