Imbriqué pour les boucles dans R
-
Boucle
for
en langage R -
Utilisez la boucle
for
imbriqué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