i<-0 while (i<10){ print(i) i<-i+1 } print(« on sort de la boucle ») While va réaliser ce qui est écrit entre les accolades {} tant que ce qui est dans les parenthèses () est vrai. Ce code peut donc se traduire de la façon suivante : i vaut 0 tant que (i est inférieur à 0){ afficher i augmenter i de 1 } Dans cet exemple au moment où i vaudra 10, on sortira de la boucle.Read More →

for ( i in 1:10) { print(i) } Cette commande peut se traduire par : Pour (i allant de 1 à 10) { affiche i} Il faut noter que les parenthèses () servent à définir la variable et les valeurs qu’elle va prendre successivement à chaque tour de boucle. Les accolades {} servent à délimiter les actions à effectuer pour chacune des valeurs prises par la variable. IMPORTANT : R n’aime pas vraiment les boucles for, il est beaucoup plus efficace d’utiliser apply. Tout particulièrement pour les très grandes et longues boucles, apply fait cela en une fraction de seconde… alors que for peut mettreRead More →

R n’aime pas les boucles: c’est long, parfois ca plante..mais surtout c’est long :). Une des fonctions qu’il faut absolument maîtriser est apply. Elle permet de réaliser en parallèle la même opération sur toutes les lignes/ toutes les colonnes d’une matrice ou d ‘un jeu de données. Pour utiliser apply, il faut créer une fonction qui prend en paramètre un vecteur et qui nous ressort une transformation de ce vecteur. que ce vecteur soit de la forme qu’une ligne ou qu’une colonne de notre jeu de données (prendre en compte les variables quali, l’ordre des variables..) lancer apply sur son jeu de données, en précisantRead More →

R n’aime pas les boucles: c’est long, parfois ca plante..mais surtout c’est long :). Une des fonctions qu’il faut absolument maîtriser est apply. Elle permet de réaliser en parallèle la même opération sur toutes les lignes/ toutes les colonnes d’une matrice ou d ‘un jeu de données. Pour utiliser apply, il faut créer une fonction qui prend en paramètre un vecteur et qui nous ressort une transformation de ce vecteur. que ce vecteur soit de la forme qu’une ligne ou qu’une colonne de notre jeu de données (prendre en compte les variables quali, l’ordre des variables..) lancer apply sur son jeu de données, en précisantRead More →

Si vous voulez vous assurer qu’une instruction qui n’aboutit pas ne bloque pas votre script ou encore si vous avez besoin de gérer les exceptions, vous pouvez utiliser la fonction try. rm(list=ls(all=TRUE)) # pour partir d’une mémoire viergeprint(a)# va vous renvoyer un message d’erreur… et aura bloqué votre script si vous l’aviez lancé via source() par exempletry(print(a))# vous affiche l’erreur mais ne gêne pas la suite du processustry(print(a),silent=T)# ne vous affiche même pas l’erreur Ici l’exemple donné n’a que peu d’utilité, mais ce principe de gestion des erreurs (en particulier avec tryCatch) peut vous rendre beaucoup de services dans une boucle ou autre.Read More →

Si vous voulez vous assurer qu’une instruction qui n’aboutit pas ne bloque pas votre script ou encore si vous avez besoin de gérer les exceptions, vous pouvez utiliser la fonction try. rm(list=ls(all=TRUE)) # pour partir d’une mémoire viergeprint(a)# va vous renvoyer un message d’erreur… et aura bloqué votre script si vous l’aviez lancé via source() par exempletry(print(a))# vous affiche l’erreur mais ne gêne pas la suite du processustry(print(a),silent=T)# ne vous affiche même pas l’erreur Ici l’exemple donné n’a que peu d’utilité, mais ce principe de gestion des erreurs (en particulier avec tryCatch) peut vous rendre beaucoup de services dans une boucle ou autre.Read More →