Analisando dados de vacinação contra COVID-19 com a BD

Bruno Mioto
basedosdados
Published in
6 min readDec 9, 2021

Veja como utilizar o datalake público da Base dos Dados para criar um gráfico de vacinação da sua cidade.

FONTE: RawPixel

TL;DR

Uma das melhores formas de comunicar grandes quantidades de dados é por meio de gráficos. Hoje vamos aprender como buscar os dados da Campanha Nacional de Vacinação contra Covid-19 e de população na Base dos Dados, além de como gerar um gráfico de vacinados de acordo com a população, utilizando apenas o pacote em R da basedosdados e o ggplot2! Neste artigo você encontra:

  • Introdução e contexto
  • Pacotes utilizados
  • Busca dos dados
  • Arrumando os dados
  • Combinando dados de vacinação e população
Vacinação em Maringa -PR

Introdução e contexto

Desde o início da pandemia, fomos inundados com números de casos, óbitos, ocupação hospitalar e, mais recentemente, de vacinação! Com essa avalanche de números diários ficou bem clara a importância dos gráficos para comunicação. Como biólogo, adoro pensar em como nós, seres humanos, somos organismos visuais e evoluímos por milhares de anos buscando padrões na natureza que nos possibilitassem sobreviver. Nosso cérebro adora desenhos, gráficos e figuras, por isso devemos usá-los para comunicar dados!

Foi com essa ideia na cabeça que comecei a fazer gráficos relacionados à COVID-19 para minha cidade, Maringá-PR. E, claro, o gráfico mais legal de fazer é o da vacinação. O brasileiro ama se vacinar!

Mas não foi tão fácil assim buscar esses dados. Entrar no site do SUS, baixar os microdados de vacinação do estado (que aumentava a cada semana), filtrar apenas da minha cidade (precisava usar o Kaggle pois o R travava!), exportar uma tabela, para só então eu fazer os gráficos. Atualizar diariamente esse gráfico era impossível!

Era, até que conheci a Base dos Dados! Buscar bancos de dados públicos dentro do R ficou tão fácil que parecia mentira e hoje vou compartilhar um pouco sobre como você pode fazer um gráfico da vacinação de acordo com o sexo e faixa etária, comparando com a população estimada em sua cidade.

Pacotes utilizados

Vamos carregar os poucos pacotes que utilizados para essa visualização

Busca dos dados

Essa parte seria a mais trabalhosa, mas agora é a mais simples. Utilizando o pacote em R da basedosdados, só precisamos rodar:

Pronto! Já temos o dataset com os microdados dos vacinados (dados_vacina) e a estimativa da população (populacao_mga) carregados no R!

Nesse texto utilizei a minha cidade como exemplo (código 4115200), mas você pode fazer para a sua também. É só buscar sua cidade no site IBGE Cidades, colocar o código do IBGE de 7 dígitos nos filtros de id_municipio_estabelecimento e id_municipio acima e mudar a sigla_uf para seu estado!

Arrumando os dados

Agora que já temos os dados prontinhos, só precisamos organizar alguns pontos para fazermos nosso gráfico!

Dados da vacinação

Vamos retirar as doses de reforço (já que estamos focando apenas na 1ª e 2ª dose) e quando o sexo é “indeterminado” (sim, os dados possuem alguns erros). Além disso, como os dados de dose estão escritos como 1ª Dose e 2ª dose, vamos mudar para 1 e 2.

Aproveitando o gancho do “sexo indeterminado”, precisamos entender que os dados públicos - principalmente estes que são alimentados por diferentes pessoas de diferentes prefeituras de todo o país - sempre estarão passivas de erros. Álvaro, da brasil.io fez um post muito bom com alguns pontos acerca dos dados de vacinação.

Se temos erros, o que podemos fazer? Na medida do possível, desconsideraremos esses erros (como fizemos acima), lembrando que são poucos dados com erros grosseiros. Mesmo com esses problemas, essa é nossa fonte de dados mais confiável para essa análise!

Continuando com os dados, vamos agrupar os vacinados por categorias de 5 em 5 anos, assim como os dados que encontramos na projeção do Ministério da Saúde (populacao_mga), além de contar quantas pessoas existem em cada grupo de idade, sexo e dose recebida!

Dados da população

A estimativa da população feita pelo Ministério da Saúde serve para que o governo tenha uma ideia do provável número de pacientes do SUS, ou mesmo quantas doses devem ser enviadas para cada município. Essa estimativa é feita com base no último Censo (de 2010) e, justamente por ter sido feito há bastante tempo, a estimativa não será tão precisa(olha aí mais uma importância do Censo). Mas, como vimos anteriormente, é o melhor que temos. Aqui precisamos apenas igualar os dados com a nossa tabela de vacinados.

Combinando dados de Vacinação e População

O código abaixo mostra como combinar os dados de vacinação com os de população:

Produção do gráfico

O gráfico que queremos fazer tem mais ou menos a estrutura da imagem 1. No entanto, com o ggplot2 é mais fácil fazermos um gráfico de colunas, como a imagem 2, e depois apenas inverter os eixos x e y utilizando a função coord_flip() no final da produção do gráfico.

Por esse motivo, toda a construção do nosso gráfico será feita com base no gráfico 2 acima. Assim, os números referentes ao sexo masculino (em laranja) serão tratados como negativos, enquanto os do sexo feminino (verde-água?) serão tratados como positivos. É o que faremos no script a seguir, além de adicionar a porcentagem de vacinados para cada grupo.

Como um toque final em nossos dados, vamos apenas determinar a ordem que queremos que os grupos etários sejam exibidos no gráfico 0–4 anos -> 80_mais

Além disso, vamos também determinar quais cores queremos para cada categoria. Vale lembrar que é muito importante não reafirmar o estereótipo de cores para gêneros. Um texto muito legal sobre isso foi escrito no blog do Datawrapper. Por isso, vamos utilizar #EE5A45 como base para o sexo masculino e #1E8F89 como base para o sexo feminino.

Agora vamos fazer o gráfico! Eu trouxe para vocês 2 tipos de gráficos, um mais simples e outro mais completo, com diversos detalhes.

Gráfico simples

Com esse código abaixo, você pode fazer e entender rapidamente o gráfico da sua cidade! Retirei diversos detalhes e parâmetros específicos para a população da minha cidade. Podemos fazer um gráfico bem simples, sem muitos detalhes:

Gráfico completo

Ou então, podemos fazer um gráfico bem mais elaborado, com textos de apoio e várias outros detalhes. Perceba que neste gráfico adicionei alguns argumentos específicos para a população da minha cidade. Você pode editar para a sua também!

Vacinação em Maringa -PR

Algumas faixas etárias possuem bem mais que 100% de vacinados. Isso pode ser erro na projeçãom, na inserção dos dados no sistema, ou podem ter sidos vacinados idosos de outras cidades da região (Maringá é a cidade central na região), por exemplo. Estes são problemas que encontramos ao lidar com dados na pequena escala, como municípios. Ao utilizar dados para todo o país, muitos desses erros são compensados em larga escala.

Talvez você tenha percebido que na faixa etária de 35–39 anos os textos ficaram meio errados. Isso aconteceu por causa da aplicação de vacinas de dose única, que chegaram todas no mesmo período e foram aplicadas apenas nesse grupo da população. Dessa forma, o número de vacinados com 2ª dose + Dose Única é maior que os vacinados com a 1ª Dose. Claramente, quando fiz esse gráfico, não contava com esse detalhe, e talvez isso também ocorra na sua cidade. Fique a vontade para melhorar o código e compartilhar!

--

--

basedosdados
basedosdados

Published in basedosdados

A página da BD é um espaço colaborativo e co-participativo para a divulgação de conteúdos técnicos na área de ciência de dados, como tutoriais e análises.

No responses yet