Boucle For avec plage dans R (y compris des exemples)
Vous pouvez utiliser la syntaxe de base suivante pour écrire une boucle for avec une plage dans R :
for(i in 1:10) { do something }
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : imprimer les valeurs dans la plage
Le code suivant montre comment utiliser une boucle for pour imprimer chaque valeur dans une certaine plage :
#print every value in range of 1 to 10 for(i in 1:10) { print(i) } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
Exemple 2 : effectuer une opération sur les valeurs dans la plage
Le code suivant montre comment utiliser une boucle for pour effectuer une opération spécifique sur chaque valeur dans une certaine plage :
#define vector x <- c(4, 7, 9, 12, 14, 16, 19) #print square root of every value in vector for(i in 1:length(x)) { print(paste('The square root of the value in position', i, 'is', sqrt(x[i]))) } [1] "The square root of the value in position 1 is 2" [1] "The square root of the value in position 2 is 2.64575131106459" [1] "The square root of the value in position 3 is 3" [1] "The square root of the value in position 4 is 3.46410161513775" [1] "The square root of the value in position 5 is 3.74165738677394" [1] "The square root of the value in position 6 is 4" [1] "The square root of the value in position 7 is 4.35889894354067"
Exemple 3 : effectuer une opération sur les valeurs dans le bloc de données
Le code suivant montre comment utiliser une boucle for pour effectuer une opération spécifique sur chaque valeur d’une colonne spécifique d’un bloc de données dans r :
#define data frame
df <- data.frame(a=c(3, 4, 4, 5, 8),
b=c(8, 8, 7, 8, 12),
c=c(11, 15, 19, 15, 11))
#view data frame
df
a b c
1 3 8 11
2 4 8 15
3 4 7 19
4 5 8 15
5 8 12 11
#multiply every value in column 'a' by 2
for(i in 1:length(df$a)) {
df$a[i] = df$a[i]*2
}
#view updated data frame
df
a b c
1 6 8 11
2 8 8 15
3 8 7 19
4 10 8 15
5 16 12 11
Ressources additionnelles
Comment créer une boucle For imbriquée dans R
Comment écrire une instruction If Else imbriquée dans R
Comment parcourir les noms de colonnes dans R