Exercício 1.1 - Introdução ao ggplot2

library(ggplot2) # Carregar o pacote

ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) + geom_point(size = 3) + labs(title = “Relação entre Peso e Consumo de Combustível”, x = “Peso do Carro (wt - milhares de lbs)”, y = “Milhas por Galão (mpg)”, color = “Cilindros”) + theme_minimal()

Exercício 1.2 - Gráficos de Barras

library(ggplot2) # ggplot library(dplyr) # %>% e count()

diamonds_count <- diamonds %>% count(cut) %>% arrange(desc(n))

ggplot(diamonds_count, aes(x = reorder(cut, -n), y = n, fill = cut)) + geom_bar(stat = “identity”) + geom_text(aes(label = format(n, big.mark = “.”, decimal.mark = “,”, scientific = FALSE)), vjust = -0.5, color = “black”, size = 3.5) + # Adiciona os rótulos de valor labs(title = “Contagem de Diamantes por Corte (Cut)”, x = “Corte”, y = “Quantidade de Diamantes (N)”) + scale_fill_brewer(palette = “Set3”) + # Paleta de cores qualitativa theme_minimal() + theme(legend.position = “none”)

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

library(ggplot2) library(dplyr) # Necessário para %>% e recode()

Vetor de cores com os nomes traduzidos (para combinar com os novos níveis)

cores_cut <- c(“Justo” = “#F8766D”, “Bom” = “#A3A500”, “Muito Bom” = “#00BF7D”, “Premium” = “#00B0F6”, “Ideal” = “#E76BF3”)

Traduz os rótulos do eixo X para português

diamonds <- diamonds %>% mutate(cut = recode(cut, “Fair” = “Justo”, “Good” = “Bom”, “Very Good” = “Muito Bom”, “Premium” = “Premio”, “Ideal” = “Ideal”))

ggplot(diamonds, aes(x = cut, y = price, fill = cut)) + geom_boxplot(outlier.shape = NA) + labs(title = “Distribuição do Preço por Tipo de Corte”, x = “Corte”, y = “Preço (US$)”) + scale_fill_manual(values = cores_cut) + theme_minimal() + theme(legend.position = “none”, axis.text.x = element_text(angle = 45, hjust = 1)) + # Ajusta ângulo do eixo X coord_cartesian(ylim = c(0, 10000))

Exercício 1.4 - Conceitos Fundamentais

Questão 1: Explique a diferença entre os geoms geom point() e geom jitter(). Em que situação cada um é mais apropriado?

O geom point() Criar gráfico de bolhas enquanto o geom jitter() cria ruídos. A aplicação do primeiro é indicada para quando se necessita da posição exata dos pontos plotados, pois os pontos não se sobrepõe. O segundo é indicados quando ocorre muita sobreposição dos dados plotados, ou seja, é indicado quando ocorre repetições de valores a serem plotados.

Questão 2: Descreva o conceito de ”Gramática dos Gráficos”e como ele é implementado no ggplot2.

A gramática dos gráficos pode ser conceituada como uma ferramenta gráfica robusta para criação de gráfico, tendo sido o pacote ggplit2 desenvolvido por Hadleu Wickham em 2011.

Sua implantação se dá pela associação de cada componente de um gráfico a uma estrutura gramatical, possibilitando a elaboração de gráficos de forma mais eficiente e estruturada.