Introdução à Análise Bivariada e Gráficos Bivariados no R

28/05/2024

Linguagem R

Estatística descritiva

A estatística descritiva é uma ferramenta fundamental na interpretação e compreensão de conjuntos de dados, revelando padrões e tendências. Ela pode ser uma análise univariada, que explora variáveis individualmente, e análise multivariada, em que está inserida a análise bivariada, que investiga a relação entre duas ou mais variáveis. Neste tutorial, o foco será a segunda abordagem, destacando a importância da análise bivariada, classificação de variáveis, entre qualitativa e quantitativa, e como criar gráficos bivariados utilizando R.

Variáveis qualitativas e quantitativas

Antes de iniciar uma análise é importante saber distinguir os tipos de variáveis que irá utilizar nos gráficos. A principal classificação se divide entre:

Variáveis qualitativas, que apresentam como possíveis realizações atributos. Por exemplo: escolaridade; região; profissão.
Variáveis quantitativas, que apresentam como possíveis realizações números resultantes de uma contagem ou de uma mensuração. Por exemplo: idade; tempo na UTI; altura.

Com as variáveis devidamente classificadas, o próximo passo é iniciar a produção dos gráficos bivariados, escolhendo a melhor forma de apresentá-los visualmente considerando sua natureza.

Gráficos Bivariados

Os gráficos bivariados são representações visuais que ajudam a entender a relação entre duas variáveis. Eles desempenham um papel crucial na análise exploratória de dados, permitindo a identificação rápida de padrões e tendências. Tipos diferentes de gráficos de barras e linha são exemplos de ferramentas poderosas na visualização de dados bivariados.
Neste tutorial, exploraremos como criar esses gráficos utilizando a linguagem de programação R.

Análise Bivariada

A análise bivariada é crucial para identificar correlações, associações e padrões entre duas variáveis. Ela permite entender como uma variável afeta a outra e fornece informações importantes para a tomada de decisões. Por exemplo, ao analisar a relação entre o tempo de estudo e o desempenho em exames, a análise bivariada pode revelar se há alguma relação entre essas variáveis.

Seguindo com o tutorial, o primeiro passo é a preparação do ambiente R para receber a base de dados e possibilitar a utilização das funções necessárias.

Carregando pacotes necessários e base de dados

Para criar um gráfico utilizando o R, primeiro precisamos carregar alguns pacotes fundamentais para o código, isso porque é inviável realizar uma análise utilizando somente as funções básicas do R, logo torna-se necessário carregar pacotes que possuem as funções necessárias. Nesse caso utilizaremos dois pacotes, sendo eles {dplyr} e {ggplot2}.
O pacote {dplyr} tem como foco realizar transformação de dados, com funções específicas para filtrar linhas, criar/modificar colunas e agrupar a base, esse pacote facilita a tarefa de manusear dados e deixa o código mais simples de ser compreendido.
O pacote {ggplot2} tem como objetivo principal a construção de gráficos camada por camada, com funções específicas para definir tipo do gráfico, rótulos e cores, tudo isso com fácil personalização.
Lembrando que caso ainda não tenha instalado os pacotes, o primeiro passo é utilizar a função install.packages( ), como no exemplo a seguir.

No que diz respeito à base de dados, optaremos por utilizar uma das diversas fontes disponíveis nos painéis do OOBr. Para este propósito, fiz o download da base referente à síndrome respiratória aguda grave restringidas para gestantes e puérperas (SRAG gestantes e puérperas), a qual está acessível através do link: Synapse – SRAG . Contudo, é importante mencionar que existem outras bases disponíveis nos painéis, acessando o seguinte link: Painéis do OOBr.
No código abaixo optei por baixar a base de dados, carregar no código utilizando a função read_excell( ) e colocar dentro do parênteses o diretório do arquivo baixado.
Entretanto, vale lembrar que existem outros meios para carregar uma base, para saber mais sobre importação de dados basta acessar o link: Importando dados .

Com todas as preparações prontas, vamos iniciar a produção dos gráficos que serão divididos pelos tipos de gráficos e os tipos de variáveis utilizadas em cada um, tendo gráficos utilizando duas variáveis qualitativas, outro utilizando duas variáveis quantitativas e por fim utilizando uma variável qualitativa e outra quantitativa.

DUAS VARIÁVEIS QUALITATIVAS:

Gráfico de barras agrupadas

No gráfico de barras agrupadas, uma variável será responsável por preencher o gráfico. Neste contexto, optei por utilizar porcentagem no eixo y, permitindo uma análise comparativa entre as duas variáveis presentes no eixo x. Para isso, primeiro utiliza-se o ..count.. / sum(..count..) no eixo y para calcular a frequência relativa, em seguida acrescenta-se scale_y_continuous (labels = scales: : percent _format( )) para o eixo y ser representado em porcentagem.
Vale lembrar que as linhas que apresentavam NA (do inglês “not available” ou “no answer” = não disponível ou sem resposta) nas variáveis não foram incluídas no gráfico.

Encaixando no contexto dos dados escolhidos, é possível visualizar a porcentagem de casos em que a paciente se vacinou ou não na última campanha contra gripe para cada tipo de zona diferente. A maior parte dos dados se concentram na zona urbana, e quanto à variável de vacinação, percebe-se que na maioria dos casos, em todas as zonas, o paciente não se vacinou na última campanha.

Gráfico de barras empilhadas

O código do gráfico de barras empilhadas é muito semelhante ao de barras agrupadas, a única diferença é a posição.
Ao invés de usar position = “dodge”, para empilhar as barras utilizaremos position = “stack”.
Como na variável de classificação entre gestantes e puérperas os elementos estavam abreviados, algo que poderia dificultar a compreensão do gráfico, utiliza-se a função de definição de cor para também definir os nomes na legenda.
Novamente, as observações com valores NA para essas variáveis não foram incluídas.

Utilizando esse tipo de gráfico, observa-se que entre a classificação de gestante ou puérpera, a maioria dos casos é de pacientes que estão no 3º trimestre da gestação, enquanto a minoria dos casos, tirando os ignorados, são gestantes no 1º trimestre de gestação, isso se repete em todas as colunas de raça.

DUAS VARIÁVEIS QUANTITATIVAS

Gráfico de dispersão

Uma boa forma de analisar graficamente duas variáveis quantitativas é utilizar um gráfico de dispersão, possibilitando analisar padrões formados no cruzamento entre as duas variáveis selecionadas, além de facilitar a identificação de valores discrepantes.
Diferente dos gráficos anteriores, a definição da cor neste tipo de gráfico está dentro da função geom_point( ), lembrando que o argumento color = “cor escolhida” precisa estar fora da função aes( ).

Observando o padrão presente no gráfico, observa-se uma maior concentração na base enquanto alguns valores perdidos na parte superior que destoam da grande maioria, considerando que a maior parte dos dados concentram-se na faixa de 0 a 200 dias na UTI, observamos quatro casos que destoam desse padrão, três deles na faixa de 200 a 400 dias e o valor que mais difere do resto passando de 700 dias na UTI, sendo o que chamamos de outlier, termo que será melhor explicado no próximo gráfico.
Mesmo que a variável idade pareça quase constante, ainda assim existe uma leve curva no centro do eixo x indicando a faixa etária mais frequente na base, sendo entre os 20 e 35 anos, aproximadamente.

UMA VARIÁVEL QUALITATIVA E UMA QUANTITATIVA:

Boxplot para cada categoria da variável qualitativa

Também conhecido como “diagrama de caixa”, o boxplot é uma representação gráfica de várias medidas diferentes, sendo elas:

Mediana = a linha que divide a “caixa”. Quando organizados em ordem crescente, a mediana é o valor central de um determinado conjunto de dados, dessa forma 50% dos dados são iguais ou inferiores assim como os outros 50% são iguais ou superiores.

1º e 3º Quartis = linhas superior e inferior da “caixa”. Diferente da mediana que divide o conjunto de dados na metade, os quartis dividem o conjunto em 4 partes. Dessa forma o quartil 1 divide o conjunto de dados com 25% iguais ou inferiores enquanto 75% dos dados são iguais ou superiores. Seguindo a mesma linha, o quartil 3 separa 75% sendo iguais ou inferiores e 25% sendo iguais ou superiores. Enquanto isso, o segundo quartil  é a mediana.

Máximos e mínimos não outliers = ponto máximo e mínimo representando a altura das hastes acima e abaixo da “caixa”. Também conhecidos como “limites superior e inferior”, correspondem, respectivamente, ao maior e menor valor do conjunto de dados que não sejam outliers

Outlier = pontos acima ou abaixo das hastes superior e inferior. Se refere à valores que destoam do resto do conjunto de dados, também podendo ser chamado de “valor discrepante”.

No gráfico apresenta-se o boxplot da idade para cada região do país. O gráfico apresenta uma estabilidade na faixa etária das pacientes, com exceção da região Norte onde observa-se medidas levemente menores em comparação com o resto do país. Na parte superior do gráfico observa-se vários casos considerados outliers.

Conclusão

Todos os gráficos presentes neste tutorial são apenas exemplos entre muitas possibilidades e para um maior aprofundamento em tipos de gráficos, sugerimos explorar outro recurso em nosso site: Tipos de Gráficos e Quando Utilizá-los.

O objetivo desse tutorial foi introduzir de forma simples e breve a análise bivariada e um caminho para desenvolver gráficos bivariados utilizando a linguagem R, simulando brevemente uma análise e utilizando a base de dados disponível no site do OOBr. Espera-se que esse conteúdo possa ter esclarecido uma parte do vasto assunto da análise estatística.

Referências

https://rpubs.com/jarrais/GET00183_Topico5

https://livro.curso-r.com/8-1-o-pacote-ggplot2.html#histogramas-e-boxplots 

http://leg.ufpr.br/~fernandomayer/aulas/ce083-2016-2/05_Analise_exploratoria.html#an%C3%A1lise_bivariada

https://fernandafperes.com.br/blog/interpretacao-boxplot/ 

https://observatorioobstetrico.github.io/livro-Obstetricia-R/

https://www.synapse.org/#!Synapse:syn55224482 

https://observatorioobstetrico.shinyapps.io/oobr_qualidados2/