Este relatório de Dados tem como objetivo o aprendizado de ferramentas de análise estatística e de visualização de dados, utilizando a linguagem de programação R.
Foram empregadas as seguintes ferramentas: ggplot2: ferramenta para criação de meios de visualização; dplyr: ferramenta para a manipulação/filtragem/organização de grandes volumes de dados.
Aqui, estuda-se a relação entre o consumo (milhas percorridas por galão de combustível) e o peso do carro.
library(ggplot2)
ggplot(
data = 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)",
y = "Milhas por galão (mpg)",
color = "Cilindros"
) +
theme_minimal()
Aqui, é mostrada a contagem de diamantes por qualidade de corte.
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
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()
Aqui, estuda-se a relação entre o preço dos diamantes e a qualidade do corte dos mesmos.
library(ggplot2)
# Criando o Boxplot com customizações solicitadas
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_fill_manual(
values = c(
"Fair" = "#d73027",
"Good" = "#fc8d59",
"Very Good" = "#fee08b",
"Premium" = "#91bfdb",
"Ideal" = "#4575b4"
)
) +
labs(
title = "Distribuição do Preço dos Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço (US$)"
) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)
O geom_point() plota os pontos exatamente nas coordenadas (x,y), sendo ideal para dados contínuos e precisos, onde se espera verificar relações exatas entre as variáveis.
O geom_jitter() adiciona um pequeno deslocamento aleatório (ruído) às posições de cada ponto, sendo indicado para dados discretos ou quando há muita sobreposição dos ponto; este pequeno ruído aleatório faz com que pontos que estejam sobrepostos não mais estejam, o que facilita a identificação da real massa de dados, identificando melhor, assim, os locais de maior concentração (densidade) – ex.: mapa de pontos de ocorrências por endereço exato; se não houver algum recurso que possibilite a contagem de ocorrências sobrepostas (ex.: pelo diâmetro do círculo correspondente ao ponto), a reincidência (ou seja, a maior concentração) não é notada, já que todas as ocorrências seriam visualizadas como apenas um único ponto.
A Gramática dos Dados define a visualização como a combinação de componentes independentes de um gráfico, tais como dados, mapeamentos estéticos, geometrias, escalas e temas.
No ggplot2, essa gramática é implantada com o uso do operador +**, permitindo construir a visualização passo a passo:
Data (Dados): o dataset (conjunto de dados) bruto (ex: mtcars).
Aesthetics (Estética - aes): o mapeamento de quais colunas vão para o eixo X, Y, cores ou tamanhos.
Geoms (Geometrias - geom): define a forma física do gráfico (áreas, pontos, barras, linhas).
Scales (Escalas): controle de cores e eixos.
Themes (Temas): controla a aparência visual (fundo, fontes, grades).
Coordinates (Coordenadas): define o sistema de coordenadas a ser utilizado (cartesiano ou polar).
Statistics (Estatísticas - stat): as transformações que os dados poderão sofrer (ex.: média, mediana, histograma, etc..).