Introdução

O suicídio é uma das maiores causas evitáveis de mortes prematuras no mundo, o que torna urgente entendê-lo, a fim de promover políticas que enderecem de forma eficaz este sério problema de saúde pública.

O objetivo desse post é mostrar como levantar, apresentar e analisar (de forma exploratória) dados sobre suicídio, a partir do Atlas do Desenvolvimento Humano no Brasil. A série temporal apresentada compreende 5 anos (2013 a 2017). Será utilizado o software estatístico RStudio, de uso gratuito.

Obtendo os Dados

Primeiramente, instalaremos (caso eles ainda não estejam instalados) e carregaremos os pacotes que serão necessários para realização deste projeto.

# nomes dos pacotes
packages <- c("readxl", "ggplot2", "dplyr", "Hmisc", "ggfortify", "lindia")

# instalar pacotes caso eles ainda não estejam instalados
installed_packages <- packages %in% rownames(installed.packages())
if (any(installed_packages == FALSE)) {
  install.packages(packages[!installed_packages])
}

# carregar pacotes
invisible(lapply(packages, library, character.only = TRUE))

Infelizmente, o banco de dados está compactado em formato “.rar”, o que torna difícil obtê-los por meio de códigos no R desde o início do projeto. Clique aqui para fazer o download dos dados para o seu computador. Uma vez feito o download, descompacte-os (no meu caso, eu usei o programa de uso gratuito BreeZip). Agora, faremos o R ler os arquivos “.xlsx” no ambiente de trabalho:

AtlasBr <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Total 2012 2017.xlsx", 
                      sheet = "BRASIL", col_names = TRUE)
AtlasRegiao <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Total 2012 2017.xlsx", 
                          sheet = "REGIÃO", col_names = TRUE)
AtlasRM <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Total 2012 2017.xlsx", 
                      sheet = "REGIÃO_METROPOLITANA", col_names = TRUE)
AtlasUF <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Total 2012 2017.xlsx", 
                      sheet = "UNIDADE_DA_FEDERAÇÃO", col_names = TRUE)
AtlasMun <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Total 2012 2017.xlsx", 
                       sheet = "MUNICÍPIO", col_names = TRUE)
AtlasSexo <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Sexo 2012 2017.xlsx", 
                        sheet = "BRASIL", col_names = TRUE)
AtlasCor <- read_excel("./Atlas Desenvolvimento Humano/Registro Administrativo Cor 2012 2017.xlsx", 
                       sheet = "BRASIL", col_names = TRUE)

Agora, temos 7 bancos de dados, compreendendo informações por:

  1. todo o território brasileiro (AtlasBr);
  2. região do país (AtlasRegiao);
  3. unidade da federação (AtlasUF);
  4. região metropolitana (AtlasRM);
  5. município (AtlasMun);
  6. sexo (AtlasSexo);
  7. cor/raça (AtlasCor).

Apresentando os Dados

Para começar, vejamos como o número de óbitos por suicídio, a cada 100 mil habitantes, se apresentou em todo o território nacional, entre os anos de 2013 e 2017:

g <- ggplot(data = AtlasBr, aes(x = as.numeric(ANO), y = TXMOSUI, group = 1))
g + 
  geom_line(color = "blue", size = 1, linetype = "dashed") + 
  geom_point(shape = 23, size = 3, fill = "blue", color = "black") + 
  labs(title = "Nº de óbitos por suicídio, por 100 mil habitantes - Brasil",
       x = "Ano",
       y = "Nº óbitos por 100 mil hab") + 
  theme(plot.title = element_text(size = 13.49),
        axis.title.y = element_text(size = 13),
        axis.title.x = element_text(size = 13),
        axis.text = element_text(size = 11, colour = "black"))

Não obstante o Brasil ser signatário do Plano de Ação sobre Saúde Mental 2013-2020 da Organização Mundial de Saúde (OMS), que busca a redução da taxa de suicídio em 10% até 2020, não é preciso muito esforço para concluir que as taxas, na verdade, estão aumentando no Brasil, indo de aproximadamente 5.2 em 2013 para 6.0 em 2017.

Há diferenças entre homens e mulheres? Vejamos no gráfico abaixo.

g <- ggplot(data = AtlasSexo, aes(x = as.numeric(ANO), y = TXMOSUI, colour= DESAGREGACAO))
g + 
  geom_line(size = 1, linetype = "dashed") + 
  geom_point(aes(fill=DESAGREGACAO), shape = 23, size = 3, color = "black") + 
  labs(title = "Nº Suicídio / 100mil hab, por sexo - Brasil",
       x = "Ano",
       y = "Nº óbitos por 100 mil hab") + 
  theme(legend.position="bottom",
        legend.title = element_blank())

Parece haver algo de estranho nos dados, pois, se o número de óbitos por suicídio no Brasil a cada 100 mil habitantes foi de 6.0 em 2017, como pode essa taxa ter sido de aproximadamente “apenas” 5.0 entre homens e pouco mais de 1.0 entre mulheres? De qualquer forma, estes são os números que temos em mãos neste banco de dados. Seja como for, o fato é que a ideia de que homens cometem mais autoextermínio, em comparação às mulheres, está de acordo com a literatura científica. A própria OMS reconhece isso no documento Violência Autodirigida. Diz o texto:

“Apesar de as mulheres serem mais propensas a pensamentos suicidas em comparação aos homens, as taxas de suicídio são maiores entre eles. Em média, homens suicidam-se aproximadamente 3 vezes mais que mulheres” (tradução própria).

Segundo nossos dados, a taxa entre os homens foi aproximadamente 4 vezes maior. E o que podemos falar sobre os dados de autoextermínio por cor/raça? O gráfico abaixo traz algumas informações:

g <- ggplot(data = AtlasCor, aes(x = as.numeric(ANO), y = TXMOSUI, colour= DESAGREGACAO))
g + 
  geom_line(size = 1, linetype = "dashed") + 
  geom_point(aes(fill=DESAGREGACAO), shape = 23, size = 3, color = "black") + 
  labs(title = "Nº Suicídio / 100mil hab, por cor/raça - Brasil",
       x = "Ano",
       y = "Nº óbitos por 100 mil hab") + 
  theme(legend.position="bottom",
        legend.title = element_blank())

Neste caso, temos dados apenas de pessoas brancas e negras, e vemos que a taxa entre brancos é um pouco maior. Nos Estados Unidos, de acordo com o Centro de Pesquisa para a Prevenção do Suicídio, a taxa entre brancos também é superior, comparando com a população negra. Há um grupo, porém, em que as taxas são ainda maiores: os ameríndios e nativos do Alaska. Os grupos indígenas da Austrália também estão sujeitos a maiores riscos, segundo a OMS. O presente banco de dados não trouxe informação sobre os indígenas brasileiros, infelizmente.

Continuando, vejamos como se encontram as taxas de suicídio por Região do país:

g <- ggplot(data = AtlasRegiao, aes(x = as.numeric(ANO), y = TXMOSUI, group = NOME))
g + 
  geom_point(aes(color = NOME, fill = NOME), shape = 23, size = 3) + 
  geom_line(aes(color = NOME), linetype = "dashed", size = 1) + 
  labs(title = "Nº de óbitos por suicídio, por 100 mil habitantes - Regiões do Brasil",
       x = "Ano",
       y = "Nº óbitos por 100 mil hab") + 
  theme(plot.title = element_text(size = 13.49),
        axis.title.y = element_text(size = 13),
        axis.title.x = element_text(size = 13),
        axis.text = element_text(size = 13, colour = "black")) + 
  theme(legend.position="bottom",
        legend.title = element_blank())

Duas regiões destacam-se (negativamente): Sul, em primeiro lugar; e Centro-Oeste, em segundo. Nas demais, os números são muito parecidos. Selecionemos apenas o ano de 2017, e vejamos como a taxa se distribui em cada uma das 27 unidades da federação:

g <- ggplot(data = filter(AtlasUF, ANO==2017), aes(x = reorder(NOME, TXMOSUI), y = TXMOSUI))
g + 
  geom_bar(stat = "identity", width = .7, fill = "steelblue") + 
  coord_flip() + 
  labs(title = "Nº de óbitos por suicídio, por 100 mil habitantes, nos Estados - 2017",
       x = "Unidades da Federação (UF)",
       y = "Nº óbitos por 100 mil hab") + 
  theme(axis.text = element_text(colour = "black"),
        axis.text.x = element_blank(),
        plot.title = element_text(size = 12)) + 
  geom_text(aes(label = round(TXMOSUI, 1)), hjust=1.5, vjust = 0.4, colour = "white", size = 4)

Fica claro que, na Região Sul, os Estados do Rio Grande do Sul (RS) e de Santa Catarina (SC) são os grandes responsáveis por essa taxa elevada, com 11.9 e 10.5 suicídios por 100 mil habitantes, respectivamente. Na Região Centro-Oeste, a maior taxa (9.5) está no Estado do Mato Grosso do Sul (MS). Descemos mais um nível de análise, e olhemos agora para as regiões metropolitanas:

g <- ggplot(data = filter(AtlasRM, ANO==2017), aes(x = reorder(NOME, TXMOSUI), y = TXMOSUI))
g + 
  geom_bar(stat = "identity", width = .7, fill = "steelblue") + 
  coord_flip() + 
  labs(title = "Nº de suicídios por 100 mil hab nas RM - 2017", 
       x = "",
       y = "Nº óbitos por 100 mil hab") + 
  theme(axis.text = element_text(colour = "black", size = 10),
        axis.text.x = element_blank(),
        plot.title = element_text(size = 12)) + 
  geom_text(aes(label = round(TXMOSUI, 1)), hjust=1.5, vjust = 0.4, colour = "white", size = 4) 

Não obstante o Piauí (PI) ter sido o terceiro Estado com a maior taxa de suicídio em 2017 (9.8), a região metropolitana de Teresina (PI) é a que dominou esta inglória marca naquele ano (8.7). E quanto aos municípios, o que podemos afirmar? Primeiramente, iremos sumarizar como o número de óbitos por suicídio se apresenta quando o objeto de análise é a municipalidade, e faremos isso por porte populacional. Os municípios serão divididos em 7 categorias, a saber:

  1. Até 5 mil habitantes
  2. Entre 5 e 10 mil habitantes
  3. Entre 10 e 20 mil habitantes
  4. Entre 20 e 50 mil habitantes
  5. Entre 50 e 100 mil habitantes
  6. Entre 100 e 500 mil habitantes
  7. Mais de 500 mil habitantes

Esta foi a mesma categorização que o IBGE utilizou no trabalho Indicadores Sociais Municipais: uma análise dos resultados da amostra do censo demográfico 2010 - Brasil e Grandes Regiões. Desta feita, criaremos uma nova variável no banco de dados, com a referida categorização:

AtlasMun$PORTE <- AtlasMun$POP_TOT
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT<=5000, 
                         "<= 5 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>5000 & AtlasMun$POP_TOT<=10000, 
                         "5-10 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>10000 & AtlasMun$POP_TOT<=20000, 
                         "10-20 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>20000 & AtlasMun$POP_TOT<=50000, 
                         "20-50 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>50000 & AtlasMun$POP_TOT<=100000, 
                         "50-100 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>100000 & AtlasMun$POP_TOT<=500000, 
                         "100-500 mil", AtlasMun$PORTE)
AtlasMun$PORTE <- ifelse(AtlasMun$POP_TOT>500000, 
                         "> 500 mil", AtlasMun$PORTE)

Em seguida, ordenaremos esta nova categoria, dos menores para os maiores municípios, em termos de porte populacional:

AtlasMun$PORTE <- factor(AtlasMun$PORTE, levels = c("<= 5 mil", "5-10 mil", "10-20 mil", "20-50 mil", "50-100 mil", "100-500 mil", "> 500 mil"))

Agora sim, preparado o terreno, veremos como esta variável se comportou nas cidades, considerando todos os anos:

tapply(AtlasMun$TXMOSUI, AtlasMun$PORTE, summary)
## $`<= 5 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   20.00   24.25   31.40   37.48   44.41  194.55    4584 
## 
## $`5-10 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   10.00   13.01   16.51   20.50   24.47   96.54    3750 
## 
## $`10-20 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   5.000   6.876   9.288  12.135  15.664  89.606    3126 
## 
## $`20-50 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   2.001   4.111   6.785   8.178  10.354  48.460    1371 
## 
## $`50-100 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   1.008   3.284   5.535   6.444   8.659  39.442     117 
## 
## $`100-500 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  0.5098  3.3641  4.9337  5.3916  6.8403 20.0679      17 
## 
## $`> 500 mil`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8097  2.9222  4.4833  4.4414  5.7337  8.9391

O que chama primeiro a atenção é a quantidade de valores faltantes (na linguagem R, NA’s). E, quanto menor o município, menos dados há. Vejamos qual é a proporção de valores faltantes por porte populacional, em média:

ratio <- AtlasMun %>% 
  group_by(PORTE) %>% 
  summarise(All = n(),
            NAs = sum(is.na(TXMOSUI)),
            Ratio = NAs/All)
print.data.frame(ratio)
##         PORTE  All  NAs      Ratio
## 1    <= 5 mil 6199 4584 0.73947411
## 2    5-10 mil 6081 3750 0.61667489
## 3   10-20 mil 6853 3126 0.45615059
## 4   20-50 mil 5452 1371 0.25146735
## 5  50-100 mil 1744  117 0.06708716
## 6 100-500 mil 1319   17 0.01288855
## 7   > 500 mil  202    0 0.00000000

Ao passo que em municípios com mais de 500 mil habitantes não há dados faltantes, naqueles com menos de 5 mil, não há informações para 73.9% dos municípios, em média, o que compromete a análise, evidentemente. Voltemos à análise dos dados sumarizados por porte populacional. Todas as taxas nos municípios menores são, ironicamente, maiores (e, em alguns casos, superlativas): valores mínimos; primeiro quartil; mediana; média; terceiro quartil; e valores máximos. Caso distribuamos as taxas num gráfico de densidade por porte populacional, isso é rapidamente percebido:

g <- ggplot(data = AtlasMun, aes(x = TXMOSUI, colour = PORTE))
g + 
  geom_density(size = 1) + 
  theme(legend.position="bottom",
        legend.title = element_blank()) + 
  labs(title = "Distribuição de frequência da taxa de óbitos por suicídio nos municípios,
por porte populacional - 2013 a 2017", 
       x = "Nº óbitos por 100 mil hab",
       y = "Densidade")

À medida que os municípios vão ficando menores, as distribuições vão sendo deslocadas e ficando mais inclinadas para a direita. Nos municípios maiores, as taxas são mais “concentradas” (menor desvio-padrão). Feitas tais considerações, vejamos quais, afinal de contas, são os 5 municípios com as maiores taxas médias de suicídio, por porte populacional, considerando todos os anos:

top5 <- AtlasMun %>%
  group_by(PORTE, NOME) %>%
  summarise(SUICIDE = mean(TXMOSUI, na.rm=TRUE)) %>%
  slice_max(order_by = SUICIDE, n=5)
print.data.frame(top5)
##          PORTE                     NOME    SUICIDE
## 1     <= 5 mil               Água Limpa 149.476831
## 2     <= 5 mil             Carlos Gomes 129.282482
## 3     <= 5 mil         Serra da Saudade 123.152709
## 4     <= 5 mil      Taipas do Tocantins 121.372650
## 5     <= 5 mil               Linha Nova 118.203310
## 6     5-10 mil               Gameleiras  76.248570
## 7     5-10 mil      Santa Rosa do Piauí  67.589942
## 8     5-10 mil           Alto Horizonte  58.365759
## 9     5-10 mil                Cocalinho  54.249548
## 10    5-10 mil                   Aguiar  53.827800
## 11   10-20 mil                   Tacuru  49.001872
## 12   10-20 mil                  Amajari  38.149167
## 13   10-20 mil       Prudente de Morais  37.817907
## 14   10-20 mil                  Abaiara  36.071783
## 15   10-20 mil                  Amaturá  33.333353
## 16   20-50 mil                  Amambai  35.826472
## 17   20-50 mil São Gabriel da Cachoeira  30.427773
## 18   20-50 mil              Itapecerica  28.935352
## 19   20-50 mil           Arroio do Meio  26.485426
## 20   20-50 mil  Santa Vitória do Palmar  23.516061
## 21  50-100 mil                Tabatinga  25.452884
## 22  50-100 mil           Venâncio Aires  21.743072
## 23  50-100 mil                   Lavras  16.693306
## 24  50-100 mil                    Caicó  16.308292
## 25  50-100 mil     Paraíso do Tocantins  15.885624
## 26 100-500 mil        Santa Cruz do Sul  16.023830
## 27 100-500 mil                  Erechim  12.323460
## 28 100-500 mil              Passo Fundo  12.298550
## 29 100-500 mil              Santa Maria  11.728763
## 30 100-500 mil          Bento Gonçalves  11.474786
## 31   > 500 mil                 Teresina   7.485215
## 32   > 500 mil                Joinville   7.175316
## 33   > 500 mil             Porto Alegre   7.057260
## 34   > 500 mil              Porto Velho   6.662808
## 35   > 500 mil                 Londrina   6.482715

Infelizmente, no banco de dados dos municípios, não temos informação sobre a quais Estados eles pertencem. Como se vê, as cidades menores têm taxas monstruosas (por exemplo, 149.47 óbitos por 100 mil habitantes em média, entre 2013 a 2017, em Água Limpa!). Olhandos para as cidades maiores e, por conseguinte, mais conhecidas, vemos taxas bastante altas em muitas cidades do Estado do Rio Grande do Sul: Santa Cruz do Sul (16.02); Erechim (12.32); Passo Fundo (12.29); Santa Maria (11.72); Bento Gonçalves (11.47); e, por fim, a própria capital, Porto Alegre (7.05). Isso explica por que Rio Grande do Sul (RS) é o Estado com o maior número de óbitos por suicídio, a cada 100 mil habitantes, no país.

Considerações Finais

Vimos nesta análise exploratória que:

Por fim, fica clara a importância de se buscar fontes de dados melhores, com menos informações faltantes.