Pirâmide etária de MS em 2021
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 em 2021. Campo Grande-MS, Brasil: RStudio/Rpubs, 2022. Disponível em <https://rpubs.com/amrofi/piramide_etaria_MS_2021>. DOI: 10.13140/RG.2.2.16307.30240
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 da plataforma SIDRA-IBGE, tabela 6706.
O ano escolhido foi 2021. Caso deseje outro estado, trocar o "State" = 50
pelo número do estado desejado. Caso deseje outro ano, trocar o last
em period = "last"
pelo ano desejado (ex: period = "2020"
).
Passo 1) Chamar pacotes.
Passo 2) Carregar dados. Coloquei a rotina para extrair direto do SIDRA-IBGE pelo pacote sidrar
mas depois de baixar uma vez, fiz o dput
para deixar dentro do código (embeded).
Código
# NOT RUN - usei o dput embeded no code
# para MS
# https://apisidra.ibge.gov.br/values/t/6706/n3/50/v/606/p/all/c2/allxt/c58/all
piramide_MS = get_sidra(6706,
variable = 606,
period = "last", # em 16dez2022 = 2021
geo = "State",
geo.filter = list("State" = 50)) %>% # MS = 50
filter(Sexo != "Total") %>% # retirei os que são do Total
mutate(`Grupo de idade` = ifelse(`Grupo de idade` == "5 a 9 anos",
"05 a 9 anos",
`Grupo de idade`),
Valor = ifelse(Sexo == "Mulheres",-Valor, Valor))
Código
piramide_MS<- structure(list(`Nível Territorial (Código)` = c("3", "3", "3",
"3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3",
"3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3", "3",
"3", "3", "3", "3", "3"), `Nível Territorial` = c("Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação",
"Unidade da Federação", "Unidade da Federação", "Unidade da Federação"
), `Unidade de Medida (Código)` = c("1572", "1572", "1572",
"1572", "1572", "1572", "1572", "1572", "1572", "1572", "1572",
"1572", "1572", "1572", "1572", "1572", "1572", "1572", "1572",
"1572", "1572", "1572", "1572", "1572", "1572", "1572", "1572",
"1572", "1572", "1572", "1572", "1572", "1572", "1572"), `Unidade de Medida` = c("Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas", "Mil pessoas",
"Mil pessoas", "Mil pessoas", "Mil pessoas"), Valor = c(136,
126, 98, 99, 105, 116, 119, 115, 103, 82, 67, 55, 52, 37, 32,
14, 23, -123, -108, -98, -91, -106, -116, -123, -113, -107, -84,
-71, -71, -63, -41, -29, -22, -26), `Unidade da Federação (Código)` = c("50",
"50", "50", "50", "50", "50", "50", "50", "50", "50", "50", "50",
"50", "50", "50", "50", "50", "50", "50", "50", "50", "50", "50",
"50", "50", "50", "50", "50", "50", "50", "50", "50", "50", "50"
), `Unidade da Federação` = c("Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul", "Mato Grosso do Sul",
"Mato Grosso do Sul", "Mato Grosso do Sul"), `Ano (Código)` = c("2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021"), Ano = c("2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021", "2021", "2021", "2021", "2021",
"2021", "2021", "2021", "2021"), `Variável (Código)` = c("606",
"606", "606", "606", "606", "606", "606", "606", "606", "606",
"606", "606", "606", "606", "606", "606", "606", "606", "606",
"606", "606", "606", "606", "606", "606", "606", "606", "606",
"606", "606", "606", "606", "606", "606"), Variável = c("População",
"População", "População", "População", "População", "População",
"População", "População", "População", "População", "População",
"População", "População", "População", "População", "População",
"População", "População", "População", "População", "População",
"População", "População", "População", "População", "População",
"População", "População", "População", "População", "População",
"População", "População", "População"), `Sexo (Código)` = c("4",
"4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4", "4",
"4", "4", "4", "5", "5", "5", "5", "5", "5", "5", "5", "5", "5",
"5", "5", "5", "5", "5", "5", "5"), Sexo = c("Homens", "Homens",
"Homens", "Homens", "Homens", "Homens", "Homens", "Homens", "Homens",
"Homens", "Homens", "Homens", "Homens", "Homens", "Homens", "Homens",
"Homens", "Mulheres", "Mulheres", "Mulheres", "Mulheres", "Mulheres",
"Mulheres", "Mulheres", "Mulheres", "Mulheres", "Mulheres", "Mulheres",
"Mulheres", "Mulheres", "Mulheres", "Mulheres", "Mulheres", "Mulheres"
), `Grupo de idade (Código)` = c("1140", "1141", "1142", "1143",
"1144", "1145", "1146", "1147", "1148", "1149", "1150", "1151",
"1152", "1153", "1154", "1155", "2503", "1140", "1141", "1142",
"1143", "1144", "1145", "1146", "1147", "1148", "1149", "1150",
"1151", "1152", "1153", "1154", "1155", "2503"), `Grupo de idade` = c("0 a 4 anos",
"05 a 9 anos", "10 a 14 anos", "15 a 19 anos", "20 a 24 anos",
"25 a 29 anos", "30 a 34 anos", "35 a 39 anos", "40 a 44 anos",
"45 a 49 anos", "50 a 54 anos", "55 a 59 anos", "60 a 64 anos",
"65 a 69 anos", "70 a 74 anos", "75 a 79 anos", "80 anos ou mais",
"0 a 4 anos", "05 a 9 anos", "10 a 14 anos", "15 a 19 anos",
"20 a 24 anos", "25 a 29 anos", "30 a 34 anos", "35 a 39 anos",
"40 a 44 anos", "45 a 49 anos", "50 a 54 anos", "55 a 59 anos",
"60 a 64 anos", "65 a 69 anos", "70 a 74 anos", "75 a 79 anos",
"80 anos ou mais")), row.names = c(NA, -34L), class = "data.frame")
Passo 3) Fazer o plot. Usei o ggplot2
para desenhar a pirâmide etária de MS, conforme previsões do IBGE - Tabela 6706 - População residente, por sexo e grupos de idade - PNADC Anual.
Código
ggplot() +
geom_bar(data=piramide_MS,
aes(y=Valor*1000, 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, 2021",
subtitle="Com dados do sidrar, Tabela 6706") +
labs(caption = "Fonte: Elaboração própria",
size = 8) +
scale_y_continuous(labels = abs) +
ylab("Número de pessoas")