¿Cómo combinar los estados lógicos en r

La vida sería aburrida en I si usted no podría combinar declaraciones lógicas. Si desea comprobar si un número se encuentra dentro de un cierto intervalo, por ejemplo, desea comprobar si es mayor que el valor más bajo y menor que el valor de la parte superior.

Para ilustrar, supongamos que tiene dos vectores que contienen el número de canastas que la abuela y su amiga Geraldine anotó a los seis partidos de esta temporada de baloncesto:

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

Tal vez usted quiere saber los juegos en los que la abuela obtuvo la menor cantidad o la mayor cantidad de canastas. Para ello, R tiene un conjunto de operadores lógicos que - usted lo adivinó - están muy bien vectorizado.

Para ilustrar, mediante el conocimiento que tiene ahora, tratar de averiguar los juegos en los que la abuela anotó el menor número de cestas y los juegos en la que obtuvo el mayor número de canastas:

  1. Crear dos vectores lógicos, como sigue:

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

    min.baskets te dice si el valor es igual al mínimo, y max.baskets te dice si el valor es igual al máximo.

  2. Combinar ambos vectores con la Oregón operador (|), como sigue:

> Min.baskets | max.baskets [1] TRUE FALSE FALSE FALSE TRUE FALSE

Este método no es en realidad la forma más eficiente para encontrar esos valores. Este ejemplo muestra claramente cómo funciona la vectorización de los operadores lógicos.

los NO operador (!) Es otro ejemplo de la gran potencia de la vectorización. los N / A valores en el vector X han causado algunos problemas ya, así que probablemente desea deshacerse de ellos. Usted sabe que usted tiene que comprobar si se pierde un valor utilizando el is.na () función.

Pero usted necesita los valores que son no valores perdidos, por lo que invierten el vector lógico precediéndolo con la ! operador. Para excluir a los valores perdidos en el vector X, Por ejemplo, utilice el siguiente código:

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

Cuando usted está utilizando R, no hay manera de moverse por la vectorización. Después de comprender cómo funciona la vectorización, sin embargo, se ahorrará mucho tiempo de cálculo y líneas de código.




» » » » ¿Cómo combinar los estados lógicos en r