Nós usamos Gráficos de Dispersão (Scatterplots) quando queremos representar duas variáveis (pseudo-)métricas. Para isso, utilizamos a função geom_point().
Muitas vezes, temos apenas variáveis pseudo-métricas, no entanto, ainda podemos usar Gráficos de Dispersão para visualização. Agora vamos usar trstplt e trstprt. Se você não se lembra mais do que essas variáveis representam, consulte o Codebook!
scatter <- ggplot(
pss,
aes(
trstplt,
trstprt
)
) +
geom_point()
scatter
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

Para poder identificar mais informações no gráfico, precisamos espalhar os pontos de dados para que não se sobreponham. Pois em uma variável pseudo-métrica, geralmente temos apenas valores inteiros, fazendo com que pares de dados se sobreponham. Para isso, utilizamos a função geom_jitter():
scatter <- scatter +
geom_jitter(
width = 0.3,
height = 0.3
)
scatter
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

Nos argumentos de geom_jitter(), você especifica o quão longe os pontos de dados devem ser espalhados. Experimente algumas vezes com valores diferentes.
Agora vamos adicionar legendas e títulos.
scatter +
geom_point() +
geom_jitter(
width = 0.3,
height = 0.3
) +
labs(
x = "Trust in Politicians",
y = "Trust in Legal System",
title = "Trust Scatterplot"
)
E alteramos a aparência do título: Dentro da função theme(), vamos modificar a apresentação. Para entender exatamente o que os argumentos fazem, você aprenderá no Capítulo 3!
scatter <- scatter +
labs(
x = "Trust in Politicians",
y = "Trust in Legal System",
title = "Trust Scatterplot"
) +
theme(
plot.title = element_text(
face = "bold",
hjust = 0.5,
size = 16
)
)
scatter
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

Também vamos especificar a fonte de dados. Isso é feito usando a função lab() com o argumento caption:
scatter <- scatter +
labs(caption = "Data source: Panem Social Survey.")
scatter
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

A variável possui apenas valores inteiros, mas as marcações estão sempre nos pontos médios. Vamos corrigir isso agora:
scatter <- scatter +
scale_y_continuous(
breaks = seq(
0,
10,
1
)
) +
scale_x_continuous(
breaks = seq(
0,
10,
1
)
)
scatter
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

Também podemos adicionar uma linha de regressão para a relação entre as duas variáveis. Para isso, usamos a função geom_smooth(). No argumento method, indicamos que se trata de um modelo linear (lm), o intervalo de confiança deve ser plotado (se = TRUE) e definimos as cores.
scatter +
geom_smooth(
method = "lm",
se = TRUE,
color = "darkred",
fill = "orange"
)
## Warning: Removed 28 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 28 rows containing missing values or values outside the scale range
## (`geom_point()`).

Vamos continuar e agora você irá adicionar uma variável de grupo!