Como resumir vetores lógicos em R

Se você usar valores lógicos em operações aritméticas, R vê VERDADE Como 1 e FALSO Como 0. Isto permite a algumas construções muito interessantes.

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)

Suponha que você quer saber quantas vezes Granny marcou mais de Geraldine. Você pode usar a tradução numérica de um vector lógica para esse fim no soma() função, como segue:

> Sum (the.best) [1] 3

Então, por três vezes, a avó era melhor do que Geraldine. rochas da avó!

Além disso, você tem uma maneira fácil de descobrir se algum valor em um vetor lógico é VERDADE. Muito convenientemente, a função que executa essa tarefa é chamado qualquer(). Para pedir a R se Granny foi melhor do que Geraldine em qualquer jogo, use este código:

> Qualquer (the.best) [1] VERDADEIRO

Nós dissemos-lhe que as rochas da avó! Bem, ok, este resultado é um pouco injusto para Geraldine, então você deve verificar se Granny foi melhor do que Geraldine no todos os jogos. A função R que você usar para essa finalidade é chamado - surpresa, surpresa - todos(). Para descobrir se a avó era sempre melhor do que Geraldine, use o seguinte código:

> All (the.best) [1] FALSE

Ainda assim, a avó balança um pouco.

Você pode usar o argumento na.rm = TRUE nas funções todos() e qualquer() também. Por padrão, ambas as funções retornam N / D Se qualquer valor no argumento de vector está ausente.

menu