1 Atividade 1 - Prova Final

Introdução

O presente relatório técnico tem como finalidade consolidar as atividades práticas de análise estatística e visualização de dados, utilizando a linguagem de programação R. O foco principal desta análise reside na gestão e no desempenho de frotas, explorando a correlação entre variáveis técnicas e a distribuição de frequências em conjuntos de dados complexos.

Para a execução desta tarefa, foram empregadas as ferramentas de ponta da ciência de dados: * ggplot2: Implementação da “Gramática dos Gráficos” para criar visualizações precisas e informativas. * dplyr: Ferramenta essencial para a manipulação, filtragem e organização de grandes volumes de dados.

O objetivo fundamental é demonstrar como a ciência de dados pode ser aplicada para transformar dados brutos em inteligência logística, facilitando a interpretação de indicadores de desempenho e a identificação de padrões de consumo e precificação.


1.1 Gráfico de Dispersão (mtcars)

library(ggplot2)

# Gerando gráfico de dispersão: Peso vs Consumo
ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  geom_point(aes(color = factor(cyl)), size = 3) +
  labs(
    title = "Relação entre Peso e Consumo",
    x = "Peso (1000 lbs)",
    y = "Consumo (mpg)",
    color = "Cilindros"
  ) +
  theme_minimal()

1.2 Gráfico de Barras (diamonds)

library(ggplot2)
library(dplyr)
## 
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
## 
##     filter, lag
## Os seguintes objetos são mascarados por 'package:base':
## 
##     intersect, setdiff, setequal, union
# Preparando os dados e gerando gráfico de barras
diamonds %>%
  count(cut) %>%
  ggplot(aes(x = reorder(cut, -n), y = n, fill = cut)) +
  geom_col() + 
  geom_text(aes(label = n), vjust = -0.5) +
  scale_fill_brewer(palette = "RdYlBu") +
  labs(
    title = "Contagem por Qualidade de Corte",
    x = "Corte",
    y = "Quantidade",
    fill = "Corte"
  ) +
  theme_minimal()

1.3 Boxplot de Preços (diamonds)

Nesta análise, observamos a variação de preço para cada tipo de corte de diamante.

library(ggplot2)

# Criando o Boxplot com customizações solicitadas
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
  geom_boxplot() +
  
  # (a) Títulos e rótulos em português
  labs(
    title = "Variação de Preço por Qualidade de Corte",
    subtitle = "Análise estatística de dispersão de valores",
    x = "Qualidade do Corte",
    y = "Preço (US$)"
  ) +
  
  # (b) Cores customizadas (Manual)
  scale_fill_manual(values = c("Fair" = "#F8766D", "Good" = "#A3A500", 
                               "Very Good" = "#00BF7D", "Premium" = "#00B0F6", 
                               "Ideal" = "#E76BF3")) +
  
  # (c) Remoção da legenda e (d) Ajuste do ângulo dos rótulos do eixo X
  theme_minimal() +
  theme(
    legend.position = "none",          # Remove a legenda
    axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1) # Inclina em 45°
  )

1.4 Teoria e Gramática dos Gráficos

1.4.1 Diferença entre geom_point() e geom_jitter()

  • geom_point(): É o comando padrão para gráficos de dispersão. Ele coloca os pontos exatamente nas coordenadas (X, Y) fornecidas pelos dados. É ideal para variáveis contínuas e precisas.
  • geom_jitter(): Adiciona uma pequena quantidade de “ruído” aleatório à posição dos pontos.
  • Quando usar cada um?
    • Use o geom_point() quando a precisão for fundamental e não houver muitos pontos sobrepostos.
    • Use o geom_jitter() quando houver muitos dados com valores repetidos (overplotting). Sem o jitter, os pontos ficariam uns sobre os outros, parecendo haver apenas um dado onde existem centenas. O jitter “espalha” os pontos para mostrar a densidade real daquela categoria.

1.4.2 O conceito de “Gramática dos Gráficos”

A Gramática dos Gráficos (proposta por Leland Wilkinson) defende que um gráfico não é uma imagem única, mas sim uma sobreposição de camadas independentes.

No ggplot2, essa gramática é implementada através do operador +, permitindo construir a visualização passo a passo:

  1. Data (Dados): O dataset bruto (ex: mtcars).
  2. Aesthetics (Estética - aes): O mapeamento de quais colunas vão para o eixo X, Y, cores ou tamanhos.
  3. Geoms (Geometrias): A forma física do gráfico (pontos, barras, linhas).
  4. Scales (Escalas): Controle de cores e eixos.
  5. Themes (Temas): A aparência visual (fundo, fontes, grades).

Essa abordagem modular torna o R uma ferramenta poderosa, pois você pode mudar o tipo de gráfico apenas alterando a camada de geom, mantendo todo o resto da estrutura.

***
Atividade elaborada por: 3º Sgt PM Cleidson DANIEL Pereira