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 os dados exatamente onde eles ocorrem nas coordenadas x e y. Se muitos pontos tiverem os mesmos valores (sobreposição), eles ficam ocultos uns sobre os outros. Já o geom_jitter() adiciona um pequeno ruído aleatório (“jitter”) à posição de cada ponto. [cite_start]Isso é mais apropriado quando temos variáveis discretas ou categóricas onde muitos pontos cairiam exatamente no mesmo lugar, permitindo visualizar a densidade dos dados[cite: 31].

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

Resposta: A “Gramática dos Gráficos” (Grammar of Graphics) é um conceito teórico criado por Leland Wilkinson que define um gráfico não como uma entidade única, mas como uma construção em camadas. [cite_start]No ggplot2 (que significa Grammar of Graphics Plot 2), isso é implementado permitindo que o usuário combine componentes independentes para criar qualquer visualização[cite: 32]: 1. Data: Os dados brutos. 2. Aesthetics (aes): O mapeamento dos dados para propriedades visuais (eixos x/y, cor, tamanho). 3. Geometries (geom): A forma visual (pontos, barras, linhas). 4. Facets: Divisão em subgráficos. 5. Statistics: Transformações estatísticas (médias, contagens). 6. Coordinates: O sistema de coordenadas (cartesiano, polar). 7. Themes: A aparência não relacionada aos dados (fontes, fundo).