Duplicate possible:
Opérateurs d'assignation dans R: '=' et '<-'
J'utilise R 2.8.1 et il est possible d'utiliser les deux =
et <-
en tant qu'opérateurs d'assignation de variable. Quelle est la différence entre eux? Lequel devrais-je utiliser?
De ici :
Les opérateurs <- et = affectent l'environnement dans lequel ils sont évalués. L'opérateur <- peut être utilisé n'importe où, alors que l'opérateur = n'est autorisé qu'au niveau supérieur (par exemple, dans l'expression complète saisie à l'invite de commande) ou en tant que sous-expression dans une liste d'expressions en hachures.
Lecture de "Introduction aux méthodes de Monte Carlo avec R", de Robert et Casella:
"L'opérateur d'affectation est =
, à ne pas confondre avec ==
, qui est l'opérateur booléen d'égalité. Un opérateur de tâche plus ancien est <-
et, pour des raisons de compatibilité, il reste fonctionnel, mais il devrait être ignoré pour assurer une programmation plus propre. (Comme l'a souligné Spector, P. (2009). "Manipulation de données avec R" - Section 8.7., Une exception est l'utilisation de system.time
, puisque = est ensuite utilisé pour identifier les mots clés)
Une caractéristique trompeuse de l'opérateur d'affectation <- se trouve dans des expressions booléennes telles que
> if (x[1]<-2) ...
qui est supposé tester si x [1] est inférieur à -2 mais finit par allouer 2 à x [1], en effaçant sa valeur actuelle! Notez également que l'utilisation de
> if (x[1]=-2) ...
par erreur au lieu de (x [1] == - 2) a la même conséquence. "