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.
Conteúdo
Video: ProcV Excel - Identificando Duplicidades na tabela
Operador | Resultado |
---|---|
x y == | Devoluções VERDADE E se X exatamente é igual a y |
x! = y | Devoluções VERDADE E se X difere a partir de y |
X gt; y | Devoluções VERDADE E se X é maior do que y |
X gt; = y | Devoluções VERDADE E se X é maior que ou exatamente igual a y |
X lt; y | Devoluções VERDADE E se X é menor que y |
X lt; = y | Devoluções VERDADE E se X é menor ou exatamente igual a y |
X & y | Retorna o resultado da X e y |
x | y | Retorna o resultado da X ou y |
! X | nã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.