Como comparar valores em vetores lógicos em r

Para construir vetores lógicos em R, é melhor você saber como comparar valores, e R contém um conjunto de operadores que você pode usar para essa finalidade.

Video: ProcV Excel - Identificando Duplicidades na tabela

OperadorResultado
x y ==Devoluções VERDADE E se X exatamente
é igual a y
x! = yDevoluções VERDADE E se X difere
a partir de y
X gt; yDevoluções VERDADE E se X é maior
do que y
X gt; = yDevoluções VERDADE E se X é maior
que ou exatamente igual a y
X lt; yDevoluções VERDADE E se X é
menor que y
X lt; = yDevoluções VERDADE E se X é
menor ou exatamente igual a y
X & yRetorna o resultado da X e y
x | yRetorna o resultado da X ou y
! Xnão retorna X
XOR (x, y)Retorna o resultado de x xor y (x ou y, mas não xe
y)

Todos estes operadores são, mais uma vez, vetorizado. Você pode comparar um vetor inteiro com um valor.

Vamos supor que você tem dois vetores contendo o número de cestas que Granny e seu amigo Geraldine marcados nos seis jogos desta temporada de basquete:

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

Neste jogo de basquete All-Star Grannies imaginário, para descobrir quais jogos Granny marcou mais de cinco cestas, você pode simplesmente usar este código:

Video: Aula 18 - Determinar maior e menor número (grupodnh.com)

gt; baskets.of.Granny gt; 5 [1] FALSO FALSO FALSO VERDADEIRO VERDADEIRO VERDADEIRO


Você pode ver que o resultado é o primeiro, quarto e quinto games. Este exemplo funciona bem para pequenos vetores como este, mas se você tiver um tempo muito longo vetor, contando o número de jogos seria um aborrecimento. Para o efeito, R oferece o delicioso qual() função. Para descobrir quais jogos Granny marcou mais de cinco cestas, você pode usar o seguinte código:

Video: Comparação Entre Vetores

gt; que (baskets.of.Granny gt; 5) [1] 1 4 5

Com esta linha de código, você realmente faz duas coisas diferentes: Primeiro, você faz um vetor lógico, verificando cada valor no vetor para ver se é maior que cinco. Então você passar esse vetor para o qual() , que devolve os índices na qual o valor é VERDADE.

Video: Maior e menor valor do vetor

o qual() função recebe um vetor lógico como argumento. Assim, você pode salvar o resultado de um vetor lógico em um objeto e passar isso para o qual() função, como no exemplo seguinte. Você também pode usar todos esses operadores para comparar o valor vetores por valor. Você pode facilmente descobrir os jogos em que Geraldine marcou menos cestas de Granny assim:

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

Sempre coloque espaços ao redor do menor que (lt;) E maior do que (gt;) Os operadores. Caso contrário, R podem confundir X lt; -3 para a atribuição X lt; - 3. A diferença pode parecer pequena, mas tem um enorme efeito sobre o resultado.

Tecnicamente, você também pode usar o sinal de igual (=) Como uma atribuição para evitar este problema, mas = Também é usado para atribuir valores aos argumentos em funções. Em geral, lt; - é a forma preferida para atribuir um valor a um objeto, mas muito poucos programadores discordar. Então a escolha é sua. A maioria uso lt; - em seu trabalho.


Publicações relacionadas