Supposons que nous souhaitons tester si deux vecteurs sont égaux. L'approche naïve, utilisant ==, ne fonctionnera pas.
Qu'est-il arrivé? Le point essentiel est que nous traitons de la vectorisation. Tout comme presque n'importe quoi dans R, == est une fonction.
En fait, == est une fonction vectorisée. L'expression x == y applique la fonction == () aux éléments de x et y. donnant un vecteur de valeurs booléennes.
Que peut-on faire à la place? Une option est de travailler avec la nature vectorisée de ==, en appliquant la fonction all ():
L'application de all() au résultat de == demande si tous les éléments de ce dernier sont vrais, ce qui est identique à savoir si x et y sont identiques.
Ou encore mieux, nous pouvons simplement utiliser la fonction identique, comme ceci:
Soyez prudent, bien que le mot identique signifie vraiment ce qu'il dit. Considérons cette petite session R:
Ainsi,: produit des nombres entiers tandis que c () produit des nombres à virgule flottante. Qui savait?