Covariação e Scatter Plot

Neste post pretendo discutir o conceito de covariação e mostrar como fazer um scatter plot para visualizar a relação entre duas variáveis.

Guilherme Bastos Gomes https://gbastosg.github.io/guilhermesportfolio/
2022-05-09

Olá!

Neste post vamos analisar duas variáveis continuas no mesmo plot, essa é uma maneira interessante para compreendermos a relação entre as variáveis.

No último post falamos sobre variação e neste falaremos sobre covariação!

Covariação

Se a variação descreve o comportamento de uma variável, a covariação descreve o comportamento entre as variáveis.

Covariação é a tendencia dos valores de duas ou mais variáveis, variarem juntos.

Vamos entender melhor essas relações usando Scatter Plots

Um ScatterPlot mostra a relação entre duas variáveis contínuas. Fazemos um com a função geom_point():

O código:

library(tidyverse)
library(ggthemes)


iris %>% 
  ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +  
    geom_point() + 
    labs( 
      title = "Medidas em centímetros do tamanho das sépalas de flores de 3 espécies",
      subtitle = "by: Guilherme Bastos Gomes", 
      caption = "Source: Edgar Anderson's Iris Data set", 
      x = "Comprimento da Sépala",
      y = "Largura da Sépala" 
    ) +
    theme_classic()

Perceba como este gráfico nos dá informações sobre duas variáveis contínuas, junto com uma variável categórica:

Assim podemos começar a entender melhor como os números se comportam dentro dos grupos, a partir daqui o próximo passo seria modelar, mas vamos continuar trabalhando com scatter plots, pois eles são realmente poderosos, principalmente quando estamos buscando por padrões.

Padrões nos levam a modelos

Padrões nos dados nos provém evidências à respeito do relacionamento das variáveis. Ao encontrar um padrão, pense como foi colocado no livro “R para ciência de dados”:

Perceba que nesse dado existem os grupos definidos por Species, sendo assim podemos fazer o seguinte para análisar a relação entre a largura e o comprimento das pétalas:

iris %>% 
   ggplot(aes(x = Petal.Length, y = Petal.Width, color = Species)) +  
     geom_point() + 
     labs( 
       title = "Medidas em centímetros do tamanho das sépalas de flores de 3 espécies",
       subtitle = "by: Guilherme Bastos Gomes", 
       caption = "Source: Edgar Anderson's Iris Data set", 
       x = "Comprimento da Pétala",
       y = "Largura da Pétala" 
     ) +
     theme_classic() +
   facet_grid(~Species)

Aqui estamos usando a função facet_grid() para dividir nosso gráfico pelos grupos definidos pela variável Species.

Aqui estamos analisando a distribuição das relações entre as variáveis de cada grupo e perceba como seria possível traçar uma linha que representa a posição dos números no gráfico.

Para este código, precisei instalar o pacote hexbin, para instalar basta:

install.packages("hexbin")

E depois seguir o código:

library(hexbin)

iris %>% 
  ggplot(aes(x = Petal.Length, y = Petal.Width)) +  
    geom_hex() + 
    labs( 
      title = "Medidas em centímetros do tamanho das sépalas de flores de 3 espécies",
      subtitle = "by: Guilherme Bastos Gomes", 
      caption = "Source: Edgar Anderson's Iris Data set", 
      x = "Comprimento da Pétala",
      y = "Largura da Pétala" 
    ) +
  facet_grid(~Species)

Observando vários Scatter Plots ao mesmo tempo pode ser uma ferramenta poderosa para compreender múltiplas relações nos dados.

Usando R base para plotar múltiplos scatter plots

A função pairs() nos ajuda a plotar diversos gráficos de pontos ao mesmo tempo:

Para adicionar os grupos nesse tipo de gráfico, precisamos primeiro definir um vetor com as três cores:

cores <- c("#0000FF","#00FF00","#FF0000")
pairs(iris[,1:4], pch = 19,  cex = 0.5,
      col = cores[iris$Species],
      lower.panel=NULL)

A partir desse momento podemos começar a falar sobre o conceito de correlação, mas vou deixar esse para um próximo post!

Obrigado por ter chegado até aqui! Até mais.