Relação entre as variáveis mpg (milhas por galão) e wt (peso do carro)
# Carregamento do dataset
dados_carros <- mtcars
dados_carros %>%
ggplot(aes(x=wt, y=mpg, color=factor(cyl))) +
geom_point(size=4, alpha=0.7) +
labs(
title = "Relação entre peso do carro e consumo de combustível",
x = "Peso em milhares de libras",
y = "Consumo de combustível em milhas por galão (mpg)",
color = "Número de cilindros"
) +
theme_minimal()
Contagem de diamantes por corte
# Carregamento do dataset
dados_diamantes <-diamonds
# Contagem de diamantes por corte
contagem_cut <- dados_diamantes %>%
count(cut, name = "total")
contagem_cut %>%
ggplot(aes(x = fct_reorder(cut, -total), y = total, fill = cut)) +
geom_col() +
geom_text(aes(label = total),
vjust = -0.5,
size = 3) +
scale_fill_brewer(palette = "Spectral", guide = "none") +
labs(
title = "Contagem de diamantes por corte",
x = "Qualidade do corte",
y = "Contagem total"
) +
theme_minimal()
Análise de preço por qualidade do corte
# Mapeamento dos rótulos para português
rotulos_portugues <- c(
"Fair" = "Ruim",
"Good" = "Bom",
"Very Good" = "Muito bom",
"Premium" = "Premium",
"Ideal" = "Ideal"
)
dados_diamantes %>%
ggplot(aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_x_discrete(labels = rotulos_portugues) +
scale_fill_brewer(palette = "Set2", guide = "none") +
labs(
title = "Preço por qualidade do corte",
x = "Qualidade do corte",
y = "Preço"
) +
theme_minimal() +
theme(
axis.text.x = element_text(
angle = 45,
hjust = 1))
Explique a diferença entre os geoms geom point() e geom jitter(). Em que situação cada um é mais apropriado?
Ambos são utilizados para a plotagem de pontos em um gráfico de dispersão. Contudo, diferem na forma como apresentam pontos que possuem a mesma coordenada.
geom_point() plota cada ponto exatamente na posição definida por aes(x, y), contribuindo para o problema conhecido como “overplotting”. Isso ocorre quando muitos pontos compartilham a mesma coordenada X e Y, fazendo com o que esses pontos fiquem empilhados um sobre o outro (sobreposição).
geom_jitter() adiciona uma espécie de ruído para cada ponto plotado, separando os pontos que estavam sobrepostos e melhorando a visualização dos dados.
Desta forma, a utilização de geom_point() se torna mais apropriada para datasets pequenos ou quando não há muitos valores com as mesmas coordenadas X e Y. Enquanto geom_jitter() é mais eficaz para datasets com muitos pontos com as mesmas coordenadas X e Y.
Descreva o conceito de “Gramática dos Gráficos” e como ele é implementado no ggplot2.
O conceito de “Gramática dos Gráficos” consiste em associar cada componente a uma estrutura gramatical específica, responsável por atribuir características ao gráfico. Essas estruturas são organizadas da seguinte forma: data (dados), aesthetics (estética), geometries (geometrias), facets (facetas), statistics (estatísticas), coordinates (coordenadas) e theme (tema).
O ggplot2 utiliza este conceito para montar gráficos por meio de camadas, as quais atribuem aos dados características estéticas, formas geométricas e outros elementos visuais, como legendas e títulos. Dessa forma, o gráfico é o resultado final da combinação de todas as camadas aplicadas.