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

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

OperadorResultado
x == yDevoluciones CIERTO Si x exactamente
es igual y
x! = yDevoluciones CIERTO Si x difiere
de y
x gt; yDevoluciones CIERTO Si x es más grande
que y
x gt; = yDevoluciones CIERTO Si x es más grande
que o exactamente igual a y
x lt; yDevoluciones CIERTO Si x es
menor que y
x lt; = yDevoluciones CIERTO Si x es
menor que o exactamente igual a y
x & yDevuelve el resultado de x y y
x | yDevuelve el resultado de x o y
! xno devuelve x
xor (x, y)Devuelve el resultado de x xor y (X o Y, pero no xy
y)

Todos estos operadores están, de nuevo, vectorizados. Puede comparar su conjunto un vector con un valor.

Vamos a suponer que usted tiene dos vectores que contienen el número de cestas que la abuela y su amiga Geraldine anotó a los seis partidos de esta temporada de baloncesto:

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

En este imaginario juego de baloncesto de las Estrellas abuelitas, para averiguar qué juegos Granny anotó más de cinco canastas en, simplemente puede utilizar este código:

Video: Ejemplo sobre cómo comparar la componente "y" de algunos vectores | Khan Academy en Español

gt; baskets.of.Granny gt; 5 [1] TRUE FALSE FALSE TRUE FALSE TRUE

Se puede ver que el resultado es la primera, cuarta, quinta y juegos. Este ejemplo funciona bien para los pequeños vectores como éste, pero si usted tiene un tiempo muy largo vectorial, contando el número de juegos sería una molestia. Para ese propósito, R ofrece el delicioso cual() función. Para averiguar qué juegos Granny anotó más de cinco cestas, puede utilizar el siguiente código:

gt; que (baskets.of.Granny gt; 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 mediante la comprobación de todos los valores en el vector para ver si es mayor que cinco. A continuación, se pasa a la que el vector 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 a la que 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 juegos en los que Geraldine anotado menos cestas de la abuela de esta manera:

gt; el mejor lt; - baskets.of.Geraldine lt; baskets.of.Grannygt; que (the.best) [1] 1 3 4

Siempre ponga espacios alrededor de la menor que (lt;) Y mayor que (gt;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 gran efecto en el resultado.

Video: Vectores y Valores Característicos (Álgebra)

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

Artículos Relacionados