head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) + geom_point() + theme_minimal() + labs(
title = "Relação entre Peso e Consumo de combustivel",
x = "Peso do carro",
y = "Milhas por galão",
color = "Cilindros"
)
head(diamonds)
## # A tibble: 6 × 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
diamonds_ord <- diamonds %>%
count(cut) %>%
arrange(desc(n)) %>%
mutate(cut = factor(cut, levels = cut))
ggplot(diamonds_ord, aes(x = cut, y = n, fill = cut)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), vjust = -0.3) +
scale_fill_brewer(palette = "RdYlBu") +
labs(
title = "Contagem de Diamantes por Corte",
x = "Tipo de Corte",
y = "Contagem de Diamantes",
fill = "Corte"
) + theme_minimal()
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
labs(
title = "Distribuição do Preço dos Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço do Diamante (US$)"
) +
scale_fill_manual(
values = c(
"Fair" = "#d73027",
"Good" = "#fc8d59",
"Very Good" = "#fee08b",
"Premium" = "#91bfdb",
"Ideal" = "#4575b4"
)
) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45,
hjust = 1)
)
Explique a diferença entre os geom_point() e geom_jitter()? Em que situação cada um é mais apropriado?
A representação geom_point plota todos os dados na exata coordenada em que eles se encontram, de modo que caso haja sobreposição de pontos dificulta a visualização por não ser capaz de demonstrar a densidade da amostra. Importante quando a precisão do ponto é fundamental. É recomendado para conjuntos com pouca repetição de valores e com menor conjunto de dados.
Já na representação geom_jitter, quando há sobreposição de valores, é realizado um pequeno deslocamento aleatorio (chamado jitter), de modo a demonstrar uma maior densidade de dados naquele local. O deslocamento é apenas visual e não altera a base de dados. É recomendada quando há muitos valores iguais ou repetidos, quando há necessidade de revelar a distribuição e concentração dos dados ou para variaveis discretas ou categóricas.
Descreva o conceito de “Gramática dos Gráficos” e como ele é implementado no ggplot2.
O conceito de “GRAMATICA DOS GRÁFICOS” define que a construção de um gráfico estatistico pode ser construido por uma serie de camadas, as quais somadas produzem o gráfico final, de maneira semelhante a formação de uma frase.
Essa é a teoria que é utilizada na linguagem R pela biblioteca ggplot2 para criação de gráficos, fazendo seu funcionamento ser mais eficiente e estruturado.
Nele cada componente do gráfico é adicionado de forma incremental, usando o operador +.
As camadas são definidas como:
1- Dados (Data)
2- Estética (Aesthetics - aes)
3- Geometria (Geometry - geom_***)
4- Estatística (Statistics - stat_***)
5- Faceta (Facets - facet_***)
6- Coordenadas (Cordinates)
7- Tema (Theme)