2 Opérations et opérateurs
2.1 +
Dans R++, on veut pouvoir faire cat("er",a+b). D'un autre coté, il est pratique de faire "Bonj"+"our" quand on veut concaténer des chaines de caractères. Une solution serait de ne pas définir + entre string et numeric. Ainsi, cat("ae"+a+b) n'aurait pas de sens. Par contre,
cat("ae"+"er",a+b) serait correct.
2.2 Logiques
&& et || sont remplacée par and et or. Ils sont paresseux, pour deux raisons : c’est plus rapide, et ça permet aussi d’écrire des choses qui planteraient sinon. Exemple, supposons que mean ne soit pas capable de travailler avec des manquantes :
[code]if any(is.na(a)) and mean(a)>0 then blabla[code]
S’il y a des manquantes, alors mean(a) ne sera jamais évalué et donc, son incapacité à travailler avec des manquantes n’est pas gênante. [[[C’est crade ce genre de chose, ou pas ?]]]
2.3 Operateur sur les vecteurs et matrices
Il faut clairement distinguer les opérateurs mathématiques des opérateurs termes à termes. Dans R, * appliqué aux matrices est terme à terme. Dans R++, * appliqué aux matrices sera la multiplication 'classique' en math.
Partager