Comment comparer des valeurs dans des vecteurs logiques dans r

Pour construire des vecteurs logiques dans R, vous feriez mieux de savoir comment comparer les valeurs, et R contient un ensemble d'opérateurs que vous pouvez utiliser à cette fin.

OpérateurRésultat
x == yRetours VRAI si X exactlyequals y
x! = yRetours VRAI si X diffère de y
x> yRetours VRAI si X est largerthan y
x> y =Retours VRAI si X est largerthan ou exactement égale à y
X lt; yRetours VRAI si X est plus petit que y
X lt; = yRetours VRAI si X issmaller supérieur ou exactement égale à y
X yRetourne le résultat de X et y
x | yRetourne le résultat de X ou y
! XRetourne pas X
xor (x, y)Retourne le résultat de x XOR y (X ou Y, mais pas Andy x)

Tous ces opérateurs sont, à nouveau, vectorisés. Vous pouvez comparer tout un vecteur avec une valeur.

Supposons que vous avez deux vecteurs contenant le nombre de paniers qui Granny et son amie Géraldine marqués dans les six matchs de cette saison de basket-ball:

> Baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Geraldine lt; - c (5,3,2,2,12,9)



Dans cet imaginaire All-Star Grannies match de basket, pour savoir quels jeux Granny a marqué plus de cinq paniers, vous pouvez simplement utiliser ce code:

> Baskets.of.Granny> 5 [1] VRAI FAUX FAUX FAUX VRAI

Vous pouvez voir que le résultat est les premier, quatrième, et cinquième jeux. Cet exemple fonctionne bien pour les petits vecteurs comme celui-ci, mais si vous avez une très longue vecteur, compter le nombre de jeux serait une corvée. À cette fin, R offre la délicieuse laquelle() fonction. Pour savoir quels jeux Granny a marqué plus de cinq paniers, vous pouvez utiliser le code suivant:

> Qui (baskets.of.Granny> 5) [1] 1 4 5

Avec cette seule ligne de code, vous faites réellement deux choses différentes: d'abord, vous faites un vecteur logique en cochant toutes les valeurs dans le vecteur pour voir si elle est supérieure à cinq ans. Puis vous passez ce vecteur à la laquelle() fonction, qui renvoie les indices dans laquelle la valeur est VRAI.

La laquelle() fonction prend un vecteur logique comme argument. Par conséquent, vous pouvez enregistrer le résultat d'un vecteur logique dans un objet et transmettre cela à la laquelle() fonction, comme dans l'exemple suivant. Vous pouvez également utiliser tous ces opérateurs de comparer la valeur des vecteurs par valeur. Vous pouvez facilement trouver les jeux dans lesquels Geraldine a marqué moins de paniers de Granny comme ceci:

> The.best lt; - baskets.of.Geraldine lt; baskets.of.Granny> qui (the.best) [1] 1 3 4

Toujours mettre des espaces autour de la moins (lt;) Et supérieur à (>) Opérateurs. Sinon, R peut confondre X lt; -3 pour l'affectation X lt; - 3. La différence peut sembler faible, mais il a un effet énorme sur le résultat.

Techniquement, vous pouvez également utiliser le signe égal (=) Comme une cession à éviter ce problème, mais = est également utilisé pour attribuer des valeurs aux arguments des fonctions. En général, lt; - est la meilleure façon d'attribuer une valeur à un objet, mais un bon nombre de codeurs se contredisent. Ainsi, il est à vous. La plupart utilisation lt; - dans leur travail.


» » » » Comment comparer des valeurs dans des vecteurs logiques dans r