Logomarca da Instituição
Logomarca da Instituição

1. Questões Gerais - Dashboard

Exercício 1.1: Introdução ao ggplot2

O objetivo é analisar a relação entre o peso do veículo e o consumo[cite: 10, 11].

# Carregando dataset mtcars
data(mtcars)

# Criando o gráfico de dispersão
ggplot(data = mtcars, aes(x = wt, y = mpg)) +
  
  # Adicionando geometria de pontos com cor por cilindro
  geom_point(aes(color = as.factor(cyl)), size = 3) + 
  
  # Adicionando Títulos e Rótulos
  labs(
    title = "Relação entre Peso e Consumo de Combustível",
    x = "Peso (1000 lbs)",
    y = "Milhas por Galão (mpg)",
    color = "Cilindros"
  ) +
  
  # Tema Minimal
  theme_minimal()

Exercício 1.2: Gráficos de Barras

[cite_start]Análise da contagem de diamantes por tipo de corte, com ordenação e rótulos[cite: 18, 19].

# Carregando dataset diamonds
data(diamonds)

# Tratamento dos dados para ordenar e contar antes de plotar
# [cite_start]Isso facilita cumprir o requisito de ordenação decrescente 
dados_resumo <- diamonds %>%
  count(cut) %>%
  mutate(cut = fct_reorder(cut, n, .desc = TRUE))

ggplot(dados_resumo, aes(x = cut, y = n, fill = cut)) +
  
  # Gráfico de barras
  geom_col() + 
  
  # [cite_start]Adicionar rótulos de valor em cada barra 
  geom_text(aes(label = n), vjust = -0.5) +
  
  # [cite_start]Paleta de cores divergente 
  # Usamos a paleta "Spectral" que é divergente no RColorBrewer
  scale_fill_brewer(palette = "Spectral") +
  
  labs(
    title = "Contagem de Diamantes por Corte",
    x = "Tipo de Corte",
    y = "Quantidade"
  ) +
  
  theme_minimal()


Exercício 1.3: Customização Avançada

Boxplot da variável preço por corte[cite: 25].

ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
  
  # Criação do Boxplot
  geom_boxplot() +
  
  # [cite_start]Títulos e rótulos em português [cite: 26]
  labs(
    title = "Distribuição de Preço por Tipo de Corte",
    x = "Corte do Diamante",
    y = "Preço (USD)"
  ) +
  
  # Remoção da legenda  e Ajuste do ângulo eixo X 
  theme_minimal() +
  theme(
    legend.position = "none", 
    axis.text.x = element_text(angle = 45, hjust = 1) 
  )


Exercício 1.4: Conceitos Fundamentais

Diferença entre geom_point() e geom_jitter()

Resposta: O geom_point() plota pontos nas coordenadas exatas, sendo ideal para dados contínuos. O geom_jitter() adiciona ruído aleatório para evitar a sobreposição (overplotting) em variáveis discretas, revelando a densidade dos dados.

O Conceito de “Gramática dos Gráficos”

Resposta: A Gramática dos Gráficos (GoG) é o modelo teórico do ggplot2. Ela afirma que qualquer gráfico é a combinação de componentes: Dados + Mapeamentos Estéticos (aes) + Geometrias (geom_*) + Escalas, etc. O ggplot2 implementa essa modularidade usando o operador +.