Como usar vetores lógicos como índices em R
A função índice em P não leva somente vetores numéricos como arguments- ele também trabalha com vetores lógicos. Você pode usar esses vetores lógicos de forma muito eficiente para selecionar alguns valores a partir de um vector.
Se você usar um vetor lógico índice, R retorna um vetor com apenas os valores para os quais o vetor lógica é VERDADE. Para ilustrar, 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:
> baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Geraldine lt; - c (5,3,2,2,12,9)
Usar um vector lógico, ao melhor, para dizer-lhe os jogos em que Granny marcou mais de Geraldine fez. Se você quiser saber quantos cestos Granny marcou nesses jogos, você pode usar este código:
> Baskets.of.Granny [the.best] [1] 12 5 6
Esta construção é muitas vezes usado para manter apenas os valores que cumprem uma determinada exigência. Se você quiser manter apenas os valores maiores do que 2 no vetor x, você poderia fazer isso com o seguinte código:
> x lt; - C (3, 6, 1, NA, 2)> X [X> 2] [1] 3 6 NA
Espere - o que é isso N / D valor fazendo lá? Dê um passo para trás, e olhar para o resultado de x> 2:
> X> 2 [1] verdadeiro verdadeiro FALSO NA FALSE
Se você tem um valor em falta no seu vector, qualquer comparação retornos N / D para esse valor.
Pode parecer que este N / D é traduzido em VERDADE, mas que não é o caso. Se você dá N / D como um valor para o índice, R coloca N / D naquele lugar também. Assim, neste caso, R mantém os primeiro e segundo valores de x, cai a terceira, adiciona um valor em falta, e descarta o último valor de x também.