Cómo comparar los valores en los vectores lógicos en r

Para construir vectores lógicos en R, es mejor que sepa cómo comparar valores y R contiene un conjunto de operadores que se pueden utilizar para este propósito.

OperadorResultado
x == yDevoluciones CIERTO si X exactlyequals y
! x = yDevoluciones CIERTO si X difiere de y
x> yDevoluciones CIERTO si X es largerthan y
x> = yDevoluciones CIERTO si X es largerthan o exactamente igual a y
X lt; yDevoluciones CIERTO si X es más pequeña que y
X lt; = yDevoluciones CIERTO si X issmaller que o exactamente igual a y
X yDevuelve el resultado de X y y
x | yDevuelve el resultado de X o y
! XNo devoluciones X
xor (x, y)Devuelve el resultado de x xor y (x o y pero no x andy)

Todos estos operadores son, de nuevo, vectorizados. Usted puede comparar su conjunto un vector con un valor.

Vamos a suponer que usted 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)

En este imaginario juego de baloncesto All-Star abuelitas, para saber qué juegos Granny anotó más de cinco cestas, puede simplemente utilizar este código:

> Baskets.of.Granny> 5 [1] TRUE FALSE FALSE TRUE FALSE TRUE

Se puede ver que el resultado es el primero, cuarto, y quinto juegos. Este ejemplo funciona bien para los pequeños vectores como ésta, pero si usted tiene un vector muy largo, contando el número de juegos sería una molestia. Para ello, R ofrece la deliciosa cual() función. Para averiguar qué juegos Granny anotó más de cinco cestas, puede utilizar el siguiente código:

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

Con esta línea de código, que realmente hacen dos cosas diferentes: En primer lugar, se hace un vector lógico comprobando todos los valores en el vector para ver si es superior a cinco. Luego se pasa ese vector a la cual() función, que devuelve los índices en el que el valor se CIERTO.

los cual() función toma un vector lógico como argumento. Por lo tanto, puede guardar el resultado de un vector lógico en un objeto y pasar eso a la cual() función, como en el siguiente ejemplo. También puede utilizar todos estos operadores para comparar el valor vectores por valor. Usted puede encontrar fácilmente los partidos en los que anotó Geraldine menos cestas de la abuela como esto:

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

Siempre ponga espacios alrededor de la menor que (lt;) Y mayor que (>) Operadores. De lo contrario, R puede confundir X lt; -3 para la asignación X lt; - 3. La diferencia puede parecer pequeña, pero tiene un efecto enorme en el resultado.

Técnicamente, también puede utilizar el signo igual (=) Como una asignación para evitar este problema, pero = También se utiliza para asignar valores a los argumentos en funciones. En general, lt; - es la mejor forma de asignar un valor a un objeto, pero un buen número de programadores no están de acuerdo. Por lo tanto, le toca a usted. La mayor utilización lt; - en su trabajo.




» » » » Cómo comparar los valores en los vectores lógicos en r