Pirâmide etária de MS: projeções do IBGE 2024
Licença
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Quarto is open source software licensed under the GNU GPL v2. The Quarto source code is available at https://github.com/quarto-dev/. Quarto is a registered trademark of RStudio.
Citação
Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Pirâmide etária de MS: Projeções do IBGE 2024. Campo Grande-MS, Brasil: RStudio/Rpubs, 2024. Disponível em <https://rpubs.com/amrofi/piramide_2024_MS>. DOI: 10.13140/RG.2.2.30531.00806
Este é um artigo rápido para criar uma pirâmide etária em valores absolutos (o leitor pode preferir fazer em porcentagem do total), considerando os dados de Homens e Mulheres extraído divulgação das projeções populacionais do IBGE de 22-08-2024 (<https://www.ibge.gov.br/estatisticas/sociais/populacao/9109-projecao-da-populacao.html?edicao=41053&t=resultados>).
Passo 1) Chamar pacotes.
Passo 2) Carregar dados. Coloquei a rotina para extrair os dados da planilha eletrônica de dados por grupo quinquenal (<https://ftp.ibge.gov.br/Projecao_da_Populacao/Projecao_da_Populacao_2024/projecoes_2024_tab2_grupo_quinquenal.xlsx>)
Passo 3) Fazer o plot. Usei o ggplot2
para desenhar a pirâmide etária de MS.
0.1 Exemplo do dataset para 2000:
Código
# A tibble: 38 × 4
`Grupo de idade` Valor Sexo Ano
<chr> <dbl> <chr> <dbl>
1 00-04 107676 Homens 2000
2 05-09 111743 Homens 2000
3 10-14 113294 Homens 2000
4 15-19 111386 Homens 2000
5 20-24 100760 Homens 2000
6 25-29 89092 Homens 2000
7 30-34 84437 Homens 2000
8 35-39 77767 Homens 2000
9 40-44 66797 Homens 2000
10 45-49 55458 Homens 2000
11 50-54 42937 Homens 2000
12 55-59 34143 Homens 2000
13 60-64 27977 Homens 2000
14 65-69 20876 Homens 2000
15 70-74 14851 Homens 2000
16 75-79 9733 Homens 2000
17 80-84 5751 Homens 2000
18 85-89 2826 Homens 2000
19 90+ 1302 Homens 2000
20 00-04 -106522 Mulheres 2000
21 05-09 -112392 Mulheres 2000
22 10-14 -112377 Mulheres 2000
23 15-19 -111139 Mulheres 2000
24 20-24 -102264 Mulheres 2000
25 25-29 -91061 Mulheres 2000
26 30-34 -87281 Mulheres 2000
27 35-39 -80675 Mulheres 2000
28 40-44 -68306 Mulheres 2000
29 45-49 -54549 Mulheres 2000
30 50-54 -41345 Mulheres 2000
31 55-59 -32550 Mulheres 2000
32 60-64 -26106 Mulheres 2000
33 65-69 -20166 Mulheres 2000
34 70-74 -15029 Mulheres 2000
35 75-79 -10258 Mulheres 2000
36 80-84 -6303 Mulheres 2000
37 85-89 -3538 Mulheres 2000
38 90+ -1807 Mulheres 2000
0.2 Ano 2000
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2000" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2000",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.3 Ano 2010
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2010" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2010",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.4 Ano 2020
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2020" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2020",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.5 Ano 2024
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2024" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2024",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.6 Ano 2030
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2030" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2030",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.7 Ano 2040
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2040" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2040",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.8 Ano 2050
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2050" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2050",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.9 Ano 2060
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2060" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2060",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")
0.10 Ano 2070
Código
library(tidyverse)
dados %>%
filter(`Ano`=="2070" & `Grupo de idade`!="Total") %>%
select(`Grupo de idade`:Ano) %>%
mutate(
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor)
)-> piramide_MS
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor, x = `Grupo de idade`, fill = Sexo),
stat="identity", alpha = 0.4, width=1) +
scale_fill_manual(values = c("Mulheres" = "red",
"Homens" = "blue")) +
coord_flip() +
theme_bw() +
ggtitle("Pirâmide etária da população em MS, 2070",
subtitle="Projeções Populacionais 2024") +
labs(caption = "Fonte: Elaboração própria. Dados básicos do IBGE(2024).",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")