O que é NA em R? Por que o argumento na.rm = TRUE é importante nas funções de cálculo?
Passo 1
O enunciado faz duas perguntas claras:
- O que é
em R? - Por que o argumento
é importante nas funções de cálculo?
Informações relevantes (o que vou usar para responder):
- A pergunta trata de valores faltantes em R e de um argumento comum em funções estatísticas/base do R.
- Preciso mostrar o efeito de
nas operações e explicar o papel de .
Passo 2
O que é
— definição e comportamento básico.
- Em R,
significa “Not Available”: é o marcador de dado faltante (valor desconhecido) dentro de vetores, data frames, etc. -
existe para cada tipo atômico: por exemplo , , , . Isso mantém o tipo do vetor. - Características importantes:
- Operações aritméticas com
propagam : se algum termo for , o resultado geralmente é . -
é distinto de (ausência de objeto) e de (resultado indefinido de operação numérica). (Não vou me estender aqui, mas fique ciente dessas diferenças.)
- Operações aritméticas com
Passo 3
Como detectar e contar
- Para testar se um valor é
usa-se . Exemplo conceitual: considere o vetor . Em R faria . -
retorna um vetor lógico indicando quais posições são . - Para contar quantos
há: . - Para obter apenas os valores não faltantes:
ou (útil para verificações e substituições).
Passo 4
Exemplo concreto (passo a passo) mostrando o efeito de
em cálculos e o papel de
.
- Considere o vetor
. Vou usar esse exemplo para mostrar comportamento de e . - Definição da média:
onde é o número de observações usadas no cálculo. - Se aplicarmos
no R padrão (comportamento por omissão), como há um no vetor, o resultado será . Explicando: a função não consegue garantir o valor da soma porque um dos termos é desconhecido, então propaga . - Para obter a soma ignorando os
, usamos o argumento . Assim: -
. -
.
-
- Mesma ideia para a média:
-
. -
.
-
- Observação didática: quando se usa
a função ignora (remove) os e faz o cálculo apenas com as observações não faltantes — por isso no cálculo da média o denominador é o número de observações não faltantes (aqui ), não o comprimento total original (aqui ).
Passo 5
O que significa literalmente
e onde aparece
- O nome do argumento:
é abreviação de “NA remove” (remover NAs); é um argumento lógico (TRUE/FALSE). - Valor padrão na maioria das funções base é
. Por isso, sem especificar, muitas funções retornarão se houver qualquer . - Funções que frequentemente têm esse argumento:
, , , , , , , entre outras. - Sintaxe típica:
.
Passo 6
Boas práticas e cuidados ao usar
- Vantagem: evita que operações simples falhem ou retornem
simplesmente por causa de alguns valores faltantes; facilita sumarização rápida. - Perigo: remover
sem verificar pode mascarar problemas — por exemplo, se metade dos dados for , a média resultante pode ser pouco representativa. Sempre verifique a quantidade e padrão de antes de remover. - Passos recomendados ao lidar com
: - Contar
: . - Inspecionar distribuição dos
por variáveis/linhas (usar , , etc.). - Decidir: remover observações com
(com ou ), imputar valores, ou tratar caso a caso.
- Contar
- Em operações por grupo (com dplyr), lembre de passar
dentro de quando apropriado, por exemplo .
Passo 7
Resumo rápido para usar na prova ou no código
- Se vir
num resultado, saiba que provavelmente há ao menos um valor faltante na entrada. - Use
para localizar e para contar. - Para calcular soma/média/etc. ignorando faltantes, passe
. - Sempre comente e justifique no seu código/prova por que está removendo
(ou por que está optando por imputar / excluir casos).