Comment combiner les états logiques dans r

La vie serait ennuyeuse en R si vous pouviez ne pas combiner les états logiques. Si vous voulez tester si un certain nombre se trouve dans un certain intervalle, par exemple, vous voulez vérifier si elle est supérieure à la valeur la plus faible et inférieure à la valeur supérieure.

Pour illustrer, 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)

Peut-être que vous voulez savoir les jeux dans lesquels les Granny a marqué le plus de paniers ou plus petit. À cette fin, R dispose d'un ensemble d'opérateurs logiques qui - vous l'aurez deviné - sont joliment vectorisé.

Pour illustrer, en utilisant les connaissances que vous avez maintenant, essayer de trouver les jeux dans lesquels Granny a marqué le moins de paniers et les jeux dans lesquels elle a marqué le plus de paniers:




  1. Créer deux vecteurs logiques, comme suit:

    > Min.baskets lt; - baskets.of.Granny == min (baskets.of.Granny)> max.baskets lt; - baskets.of.Granny == max (baskets.of.Granny)

    min.baskets vous indique si la valeur est égale au minimum, et max.baskets vous indique si la valeur est égale au maximum.

  2. Moissonneuse deux vecteurs avec le OU opérateur (|), comme suit:

> Min.baskets | max.baskets [1] VRAI FAUX FAUX FAUX VRAI FAUX

Cette méthode est en fait pas le moyen le plus efficace pour trouver ces valeurs. Cet exemple vous montre clairement comment fonctionne la vectorisation pour les opérateurs logiques.

La PAS opérateur (!) Est un autre exemple de la grande puissance de vectorisation. La N / A les valeurs dans le vecteur X ont causé quelques problèmes déjà, de sorte que vous auriez probablement vous débarrasser d'eux. Vous savez que vous devez vérifier si une valeur est manquante en utilisant le is.na () fonction.

Mais vous devez les valeurs qui sont pas les valeurs manquantes, alors inverser le vecteur logique en le précédant avec le ! opérateur. Pour abandonner les valeurs manquantes dans le vecteur X, par exemple, utiliser le code suivant:

> X [! Is.na (x)] [1] 1 2 3 6

Lorsque vous utilisez R, il n'y a pas moyen de contourner la vectorisation. Après vous comprenez comment fonctionne vectorisation, cependant, vous gagnerez du temps et de lignes de code de calcul considérable.


» » » » Comment combiner les états logiques dans r