Início: Gráfico de Dispersão

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()`).

Jitter

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.

Legendas

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()`).

Eixos

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()`).

Linha de Regressão

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!