Questão 04

Faça agora boxplots para cada variável numérica da base de dados. Utilze a função abaixo:
boxplot()

Passo 1

O enunciado pede que eu “faça boxplots para cada variável numérica da base de dados” usando a função boxplot(). As informações fornecidas são apenas essa instrução e o nome da função. Não foi enviada a base de dados (o data frame) nem seus nomes de variáveis. Portanto, eu não consigo gerar imagens aqui porque preciso dos dados para rodar o código e produzir os gráficos. Vou então explicar passo a passo (com código R pronto para você copiar e colar) como fazer os boxplots para cada variável numérica da sua base, como tratar casos comuns (NA, variáveis não numéricas, muitas variáveis), e como interpretar o resultado na prova.

Passo 2

O que é um boxplot e o que ele mostra (aula rápida e prática)
  • Um boxplot (diagrama de caixa) resume a distribuição de uma variável numérica mostrando: mediana, quartis, intervalo interquartílico (IQR), “bigodes” (whiskers) e pontos fora (outliers).
  • Definições práticas: \text{mediana} = \text{valor que divide a amostra em duas metades}
Q_1 = \text{25º percentil},\quad Q_3 = \text{75º percentil}ºº
\text{IQR} = Q_3 - Q_1
Os “bigodes” chegam até o ponto mais extremo dentro de 1{,}5\cdot\text{IQR} a partir de Q_1 e Q_3. Pontos além disso aparecem como outliers.
  • Por que usar boxplot na prova: rápido para comparar dispersão, assimetria e outliers entre variáveis.

Passo 3

Como identificar variáveis numéricas em R (fundamental antes de plotar)
  • Se sua base estiver num objeto chamado df, você pode identificar colunas numéricas com:
num_cols <- sapply(df, is.numeric)
names(num_cols)[num_cols]
  • Explicação: sapply(df, is.numeric) aplica is.numeric a cada coluna e retorna um vetor lógico indicando quais são numéricas. Em prova, saber aplicar sapply ou vapply é útil para selecionar colunas rapidamente.

Passo 4

Preparação básica dos dados: remover colunas não numéricas e tratar NA
  • Código recomendado para extrair apenas as numéricas e remover colunas que ficariam vazias:
df_num <- df[, sapply(df, is.numeric), drop = FALSE]
  • Se houver NA, a função boxplot() lida com NA por padrão (ignora-os), mas é bom saber quantos NA existem:
colSums(is.na(df_num))
  • Se preferir remover linhas com NA antes de cada boxplot:
df_num_complete <- na.omit(df_num)
  • Observação didática: na.omit() remove linhas com qualquer NA. Em algumas provas é importante justificar porque você removeu dados (pode enviesar), então muitas vezes apenas deixar boxplot() ignorar NA é suficiente.

Passo 5

Fazer boxplots de todas as variáveis numéricas em um único gráfico (lado a lado)
  • Código direto usando boxplot() que plota todas as colunas numéricas lado a lado:
boxplot(df_num, main = "Boxplots das variáveis numéricas", 
        ylab = "Valores", las = 2)
  • Explicação dos argumentos:
    • df_num: um data frame com apenas colunas numéricas; boxplot() aceita um data frame e criará um boxplot por coluna.
    • main: título do gráfico.
    • ylab: rótulo do eixo y.
    • las = 2: rotaciona labels do eixo x para vertical (útil quando há muitos nomes).
  • Dica prática para a prova: se pedir “faça boxplots para cada variável”, normalmente esperam um gráfico com todas as variáveis lado a lado ou boxplots separados; este comando atende ao pedido com mínimo de código.

Passo 6

Fazer boxplots separados (um por vez) — útil quando há muitas variáveis
  • Em vez de um único gráfico com muitas caixas, pode-se gerar vários arquivos (ou várias páginas) com um loop:
for (nm in names(df_num)) {
  boxplot(df_num[[nm]], main = paste("Boxplot de", nm), 
          ylab = nm)
}
  • Explicação: df_num[[nm]] pega a coluna como vetor numérico; paste() constrói o título. Em RStudio esse loop gera vários plots que você pode navegar.

Passo 7

Personalizações importantes e como mostrar outliers/não mostrá-los
  • Mostrar notches (para comparar medianas com intervalo de confiança):
boxplot(df_num, notch = TRUE, col = "lightblue")
  • Remover pontos de outlier do gráfico (não recomendado para análise, mas às vezes pedido):
boxplot(df_num, outline = FALSE)
  • outline = TRUE (padrão) mostra os outliers. col define cor das caixas. Em prova, saiba explicar que notch = TRUE dá uma noção de diferença de medianas: se as notches não se sobrepõem, há evidência de diferença entre medianas.

Passo 8

Gráficos horizontais e combinação com fórmulas (útil para comparar por grupo)
  • Horizontal:
boxplot(df_num, horizontal = TRUE)
  • Se quiser boxplots de uma variável numérica por níveis de uma variável categórica grupo (ex.: df$grupo), use a fórmula:
boxplot(valor ~ grupo, data = df, main = "Valor por grupo", 
        xlab = "Grupo", ylab = "Valor")
  • Explicação da fórmula: valor ~ grupo significa “plote valor separado por níveis de grupo”.

Passo 9

Salvar os gráficos em arquivo (PNG, PDF) — rodar fora da interface gráfica
  • Salvar todos os boxplots em um arquivo PDF:
pdf("boxplots_numericas.pdf", width = 10, height = 6)
boxplot(df_num, main = "Boxplots das variáveis numéricas", las = 2)
dev.off()
  • Ou salvar cada variável em um PNG dentro do loop:
for (nm in names(df_num)) {
  png(filename = paste0("boxplot_", nm, ".png"), width = 800, height = 600)
  boxplot(df_num[[nm]], main = paste("Boxplot de", nm), ylab = nm)
  dev.off()
}
  • Em prova, se pedirem entregar figuras, gere arquivos assim e anexe.

Passo 10

Como interpretar os boxplots na hora da prova (passos práticos)
  • Olhe a mediana (linha dentro da caixa): posição central indica assimetria.
  • Olhe o IQR (tamanho da caixa): quanto maior, mais dispersão central.
  • Observe os bigodes: se são muito longos em um lado, há assimetria.
  • Pontos isolados são outliers — anote-os e, se solicitado, relacione com valores extremos da amostra.
  • Se comparar variáveis, compare medianas e IQRs; se usar notch = TRUE, use a sobreposição de notches como indicação visual de diferença de medianas (não é teste formal, mas é aceita em provas como evidência inicial).

Passo 11

Erros comuns e dicas rápidas para a prova
  • Erro: tentar aplicar boxplot() em colunas com character ou factor sem fórmula — solução: selecione somente numéricas.
  • Erro: nomes longos de colunas sobrepostos — use las = 2 ou cex.axis para ajustar tamanho.
  • Dica: copie e cole os comandos prontos acima e comente cada linha se precisar justificar no relatório de prova.
  • Incentivo: não pira! Fazer um boxplot é rápido e mostra muita informação; com os comandos acima você resolve a maioria das questões.

Resposta

Não é possível gerar os boxplots aqui porque a base de dados não foi fornecida; execute um dos comandos abaixo no R usando o seu data frame (substitua df pelo nome do seu data frame):
  1. Para todas as variáveis numéricas lado a lado:
df_num <- df[, sapply(df, is.numeric), drop = FALSE]
boxplot(df_num, main = "Boxplots das variáveis numéricas", ylab = "Valores", las = 2)
  1. Para boxplots separados por coluna (loop):
df_num <- df[, sapply(df, is.numeric), drop = FALSE]
for (nm in names(df_num)) {
  boxplot(df_num[[nm]], main = paste("Boxplot de", nm), ylab = nm)
}

Exercícios relacionados