Plus j'avance sur R, plus je me pose des questions - existensielles - sur le fonctionnement et les "astuces" pour R. J'écrirais sûrement une petite série sur le sujet et aujourd'hui je commence par la différence entre <-
et =
en R.
Alors en réalité :
The operators
<-
&=
assign into the environment in which they are evaluated. The operator <- can be used anywhere, whereas the operator=
is only allowed at the top level (e.g., in the complete expression typed at the command prompt) or as one of the subexpressions in a braced list of expressions.
Soit en français :
Les opérateurs
<-
et=
sont affectés à 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 tapée à l'invite de commande) ou comme l'une des sous-expressions d'une liste entrelacée d'expressions.
La meilleure explication a pour moi été trouvée sur Stackoverflow (voir les sources ci-dessous) :
median(x = 1:10)
x
Error: object 'x' not found
Dans ce cas, x
est déclaré dans le cadre de la fonction, il n'existe donc pas dans l'espace de travail utilisateur.
median(x <- 1:10)
x
[1] 1 2 3 4 5 6 7 8 9 10
In this case,
x
is declared in the user workspace, so you can use it after the function call has been completed.
Sources :
- https://www.r-bloggers.com/assignment-operators-in-r-%E2%80%98%E2%80%99-vs-%E2%80%98-%E2%80%99/
- https://stackoverflow.com/questions/2271575/whats-the-difference-between-and-in-r
- https://stackoverflow.com/questions/1741820/what-are-the-differences-between-and-in-r
- https://www.rdocumentation.org/packages/base/versions/3.5.3/topics/assignOps