# 1. Compilação dos pacotes necessários
library(dplyr)
library(ggplot2)
library(tidyr)
library(tidyverse)
library(geobr)
library(sf)
library(patchwork)Insegurança Alimentar no Brasil: Uma análise de sua evolução de 2013 a 2024 e uma comparação dos diferentes cenários regionais
Introdução
A segurança alimentar é um tema que afeta diretamente a qualidade de vida da população. Ela está relacionada à capacidade das pessoas de terem acesso regular a alimentos suficientes e de qualidade para atender às suas necessidades básicas. Apesar dos avanços observados em diversas áreas, muitas famílias ainda enfrentam dificuldades cada vez mais relevantes para pesquisadores e gestores públicos.
A análise dos níveis de segurança alimentar permite compreender melhor a realidade social e econômica da população, identificando grupos mais vulneráveis e regiões que enfrentam maiores dificuldades de acesso aos alimentos. Além disso, o uso de dados estatísticos possibilita transformar informações em conhecimento, contribuindo para a avaliação de políticas públicas e para a elaboração de estratégias de combate à fome e à desigualdade.
Nos início dos anos 2010, como resultado de políticas públicas de combate à fome implementados na década de 2000, como o Programa Fome Zero (PFZ), criado em 2003, voltado à garantia da segurança alimentar e ao combate à pobreza, era possível reconhecer uma melhora significativa nesses indicadores. Entretanto, a partir da metade da década, com um cenário de recessão econômica, desemprego e retração de políticas sociais, houve uma reversão de quedas históricas da insegurança alimentar.
Além disso, as desigualdades territoriais na insegurança alimentar no Brasil refletem o histórico desequilíbrio na distribuição de renda, nos investimentos sociais e no acesso à infraestrutura. Estados das regiões Norte e Nordeste consistentemente apresentam os maiores índices de vulnerabilidade e fome, enquanto as regiões Sul e Sudeste registram taxas significativamente inferiores. Dessa forma, este trabalho busca analisar indicadores relacionados à segurança alimentar por meio de dados disponibilizados pelo SIDRA IBGE, permitindo uma visão mais ampla sobre a evolução da fome no Brasil e seus diferentes cenários regionais, bem como do cenário vigente.
Scripts em R
I) O primeiro script é dividido em 4 etapas:
primeiro, ele une os dados do módulo de Segurança Alimentar da PNAD 2013 com os resultados analíticos da POF 2017-2018, que são os dois marcos do IBGE para a década de 2010; em seguida, ele converte a tabela larga original em formato longo usando pivot_longer (), permitindo que o ggplot2 mapeie as diferentes categorias de segurança em uma única coluna empilhada; depois, ele define cores lógicas (verde para a segurança, tons quentes e sóbrios para os níveis de insegurança crescentes) de modo a tornar o gráfico autoexplicativo; por último, o resultado final ilustra visualmente o severo recuo da segurança alimentar (que caiu de 77,4% para 63,3% dos lares) e o salto correspondente em todos os níveis de insegurança alimentar no Brasil ao final da década. O script utiliza os pacotes do tidyverse para organizar os dados e gerar um gráfico de barras empilhadas (100%), que é o modelo ideal para observar como a proporção de lares com segurança alimentar caiu e a de insegurança cresceu no período.
# 2. Estruturar os dados oficiais do IBGE (PNAD 2013 e POF 2017-2018)
# Unidade de medida: Percentual (%) de domicílios particulares do Brasil
dados_ia <- data.frame(
Ano = c("2013 (PNAD)", "2017-2018 (POF)"),
`Segurança Alimentar` = c(77.4, 63.3),
`Insegurança Leve` = c(14.8, 24.0),
`Insegurança Moderada` = c(4.6, 8.1),
`Insegurança Grave` = c(3.2, 4.6),
check.names = FALSE
)
# 3. Pivotar os dados para o formato 'long' (necessário para o ggplot2)
dados_longos <- dados_ia %>%
pivot_longer(
cols = -Ano,
names_to = "Status",
values_to = "Percentual"
) %>%
# Fixar a ordem das categorias para fazer sentido na escala de severidade
mutate(Status = factor(Status, levels = c(
"Insegurança Grave",
"Insegurança Moderada",
"Insegurança Leve",
"Segurança Alimentar"
)))
# 4. Criar o gráfico comparativo
ggplot(dados_longos, aes(x = Ano, y = Percentual, fill = Status)) +
geom_bar(stat = "identity", width = 0.5, color = "white", size = 0.3) +
# Adicionar rótulos com os valores percentuais dentro das barras
geom_text(
aes(label = paste0(Percentual, "%")),
position = position_stack(vjust = 0.5),
size = 4,
fontface = "bold",
color = "white"
) +
# Utilizar uma paleta de cores intuitiva (estilo semáforo/alerta)
scale_fill_manual(
values = c(
"Segurança Alimentar" = "#2ca02c", # Verde
"Insegurança Leve" = "#ff7f0e", # Laranja claro
"Insegurança Moderada" = "#d62728", # Vermelho
"Insegurança Grave" = "#7f7f7f" # Cinza escuro/Crítico
)
) +
# Customização de títulos e eixos
labs(
title = "Evolução da Insegurança Alimentar nos Domicílios Brasileiros",
subtitle = "Comparativo da década de 2010 a partir dos dados do IBGE (PNAD vs POF)",
x = "Período da Pesquisa",
y = "Percentual de Domicílios (%)",
fill = "Situação do Lar"
) +
# Aplicar um tema visual limpo e moderno
theme_minimal(base_size = 10) +
theme(
plot.title = element_text(face = "bold", size = 12, hjust = 0.5),
plot.subtitle = element_text(size = 11, hjust = 0.5, color = "gray30"),
legend.position = "bottom",
panel.grid.major.x = element_blank(),
axis.text = element_text(color = "black", face = "bold")
)Warning in geom_bar(stat = "identity", width = 0.5, color = "white", size =
0.3): Ignoring unknown parameters: `size`
II) O segundo script também é dividido em 4 etapas:
primeiro, ele cria uma tabela na memória (DataFrame) com dados da PNAD Contínua 2024 e organiza os dados em 5 linhas (as regiões do Brasil) e 5 colunas (Região, Segurança Alimentar e três níveis de Insegurança Alimentar: Leve, Moderada e Grave); em seguida, a função pivot_longer transforma a tabela original (que era larga) em uma estrutura vertical, o pacote ggplot2 exige que cada variável ocupe apenas uma coluna. Após essa etapa, as colunas de categorias viram linhas sob uma nova coluna chamada “Status”, e os números vão para a coluna “Percentual”; depois, ele transforma os textos de “Status” e “Região” em variáveis categóricas ordenadas (fatores), define a ordem exata em que as regiões (do Norte ao Sul) e os níveis de insegurança aparecerão nos eixos e na legenda do gráfico, também substitui os nomes técnicos por rótulos amigáveis (ex: muda “IA_Grave” para “Insegurança Grave (Fome)”; por último, define um gráfico de barras empilhadas que vai até 100% (position - “fill”), dividindo cada barra pelas categorias de situação alimentar, insere o símbolo de porcentagem (%) e centraliza os textos dos valores dentro de cada fatia das barras, ajusta o eixo vertical para exibir marcações em formato percentual (0% a 100%), aplica o tema theme_minimal para remover fundos poluídos, joga a legenda para a parte inferior e esconde as linhas verticais de grade para destacar apenas o que importa.
# 1. Inserir os dados oficiais da PNAD Contínua 2024 (%) por Região
# Fonte: IBGE (Módulo de Segurança Alimentar 2024)
dados_pnad <- data.frame(
Regiao = c("Norte", "Nordeste", "Centro-Oeste", "Sudeste", "Sul"),
Seguranca = c(62.3, 65.2, 77.9, 78.8, 86.1),
IA_Leve = c(22.8, 20.8, 14.1, 14.2, 10.1),
IA_Moderada = c(8.6, 9.2, 5.2, 4.7, 2.1),
IA_Grave = c(6.3, 4.8, 2.8, 2.3, 1.7)
)
# 2. Reorganizar os dados para o formato 'long' (exigido pelo ggplot2)
dados_longos <- pivot_longer(
data = dados_pnad,
cols = -Regiao,
names_to = "Status",
values_to = "Percentual"
)
# 3. Ajustar os fatores para ordenar as legendas e as barras de forma lógica
dados_longos$Status <- factor(
dados_longos$Status,
levels = c("IA_Grave", "IA_Moderada", "IA_Leve", "Seguranca"),
labels = c("Insegurança Grave (Fome)", "Insegurança Moderada", "Insegurança Leve", "Segurança Alimentar")
)
dados_longos$Regiao <- factor(
dados_longos$Regiao,
levels = c("Norte", "Nordeste", "Centro-Oeste", "Sudeste", "Sul")
)
# 4. Construir o gráfico de barras empilhadas 100%
ggplot(dados_longos, aes(x = Regiao, y = Percentual, fill = Status)) +
# O 'position = "fill"' garante o empilhamento proporcional em 100%
geom_bar(stat = "identity", position = "fill", width = 0.7) +
# Inserir rótulos de porcentagem dentro das fatias das barras
geom_text(
aes(label = paste0(Percentual,"%")),
position = position_fill(vjust = 0.5),
color = "black",
size = 2.5
) +
# Configurar o eixo Y para exibir a escala em formato de porcentagem (0% a 100%)
scale_y_continuous(labels = scales::percent_format()) +
# Definir paleta de cores personalizada (tons de alerta para IA e verde para Segurança)
scale_fill_manual(values = c(
"Insegurança Grave (Fome)" = "#b2182b", # Vermelho escuro
"Insegurança Moderada" = "#ef8a62", # Laranja
"Insegurança Leve" = "#fddbc7", # Bege claro
"Segurança Alimentar" = "#4d4" # verde
)) +
# Customização de títulos e eixos
labs(
title = "Segurança e Insegurança Alimentar no Brasil por Região (2024)",
subtitle = "Proporção de domicílios particulares permanentes (%)",
x = "Grande Região",
y = "Proporção (100%)",
fill = "Situação Alimentar",
caption = "Fonte: IBGE, PNAD Contínua 2024."
) +
# Aplicar um tema limpo e profissional
theme_minimal(base_size = 8) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5, size = 12),
plot.subtitle = element_text(hjust = 0.5, size = 11
, color = "gray30"),
legend.position = "bottom",
legend.title = element_text(face = "bold"),
panel.grid.major.x = element_blank()
)III) O terceiro script é dividido em 7 etapas:
primeiro, o pacote geobr faz o download do contorno geográfico oficial das cinco Grandes Regiões do Brasil (Norte, Nordeste, Centro-Oeste, Sudeste e Sul) baseado no ano de 2020; em seguida, insere manualmente as porcentagens de Insegurança Alimentar Total por região, extraídas de três pesquisas do IBGE: PNAD 2013, POF 2017-2018 e PNAD Contínua 2024; une a tabela de porcentagens ao arquivo do mapa utilizando o nome da região (name_region) como elo comum; define uma escala que vai do amarelo (menor IA) ao vermelho escuro (maior IA), travando os limites entre 10% e 60% para garantir uma comparação justa entre os anos, cria um tema transparente (sem eixos ou fundos) e esconde as legendas individuais para evitar poluição visual; cria um mapa específico para 2013, outro para 2017-2018 e um terceiro para 2024, onde a cor de cada região reflete a taxa de insegurança alimentar daquela época; depois, o pacote patchwork organiza os três mapas em uma única linha horizontal, centraliza apenas uma legenda de cores à direita e adiciona um título geral, subtítulo explicativo e a fonte dos danos no rodapé; por último mostra o gráfico final formatado diretamente na tela do usuário. O script também deixa pronta uma linha de comando (comentada) para salvar o mapa como uma imagem PNG de alta resolução.
# 1. Obter o mapa das Grandes Regiões do Brasil via geobr
# O parâmetro year = 2020 fornece uma malha recente e leve para as regiões
regioes_mapa <- read_region(year = 2020, showProgress = FALSE)
# 2. Inserir dados consolidados do SIDRA/IBGE por Grande Região
# Taxa de Insegurança Alimentar Total (Leve + Moderada + Grave) em % de domicílios
dados_ia <- tibble(
name_region = c("Norte", "Nordeste", "Sudeste", "Sul", "Centro-Oeste"),
# Dados da PNAD 2013 (Suplemento de Segurança Alimentar)
ia_2013 = c(36.1, 38.1, 14.5, 14.9, 18.2),
# Dados da POF 2017-2018 (Análise da Segurança Alimentar)
ia_2017_18 = c(57.0, 52.6, 31.2, 20.7, 32.6),
# Dados da PNAD Contínua 2024 (Suplemento de Segurança Alimentar)
ia_2024 = c(37.7, 34.8, 17.5, 13.6, 18.3)
)
# 3. Unificar os dados estatísticos com a malha geográfica do mapa
mapa_dados <- regioes_mapa %>%
left_join(dados_ia, by = "name_region")
# 4. Definir uma paleta de cores e limites padronizados para permitir comparação direta
# Escala de cores do amarelo (menor IA) ao vermelho escuro (maior IA)
cor_escala <- scale_fill_distiller(
palette = "YlOrRd",
direction = 2,
name = "IA Total (%)",
limits = c(10, 60), # Limites fixos para que a cor signifique o mesmo valor nos 3 mapas
breaks = seq(10, 60, by = 10)
)
# Temas customizados para manter o mapa limpo e focado nos dados espaciais
tema_mapa <- theme_void() +
theme(
plot.title = element_text(face = "bold", hjust = 0.5, size = 12),
legend.position = "none" # Remove a legenda individual para criar uma única global no final
)
# 5. Construir os três mapas individualmente
mapa_2013 <- ggplot(data = mapa_dados) +
geom_sf(aes(fill = ia_2013), color = "white", size = 0.2) +
cor_escala +
labs(title = "PNAD 2013") +
tema_mapa
mapa_2017_18 <- ggplot(data = mapa_dados) +
geom_sf(aes(fill = ia_2017_18), color = "white", size = 0.2) +
cor_escala +
labs(title = "POF 2017-18") +
tema_mapa
mapa_2024 <- ggplot(data = mapa_dados) +
geom_sf(aes(fill = ia_2024), color = "white", size = 0.2) +
cor_escala +
labs(title = "PNAD Contínua 2024") +
tema_mapa
# 6. Combinar os mapas em uma única estrutura com o patchwork
mapa_final <- (mapa_2013 | mapa_2017_18 | mapa_2024) +
plot_layout(guides = "collect") + # Coleta e exibe apenas uma legenda unificada à direita
plot_annotation(
title = "Evolução da Insegurança Alimentar Total por Região no Brasil",
subtitle = "Proporção de domicílios particulares com IA leve, moderada ou grave (%)",
caption = "Fonte: IBGE / SIDRA (PNAD 2013, POF 2017-18 e PNAD Contínua 2024)",
theme = theme(
plot.title = element_text(face = "bold", size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 11, hjust = 0.5, face = "italic"),
plot.caption = element_text(size = 9, hjust = 0.5, margin = margin(t = 15))
)
)
# 7. Exibir o mapa final no painel do RStudio ou salvar em arquivo externo
print(mapa_final)# ggsave("mapas_inseguranca_alimentar_brasil.png", plot = mapa_final, width = 12, height = 5, dpi = 300)A segurança alimentar na década de 2010
A década de 2010 marcou uma transição crucial para a segurança alimentar, caracterizada por uma primeira metade de conquistas históricas, seguida por uma reversão de tendências e aumento drástico da fome na segunda metade da década. Ao analisar a PNAD 2013, a subalimentação atingia 3,2% da população nacional. Em 2014, o Brasil saiu do Mapa da Fome da Organização das Nações Unidas para Alimentação e a Agricultura (FAO). A queda acentuada nos indices de pobreza e extrema pobreza foi impulsionada por programas de transferência de renda (como o Bolsa Família), valorização real do salário mínimo, e forte fomento à agricultura familiar. A partir de 2015, o cenário mudou drasticamente. A crise econômica brasileira, combinada à redução gradual e ao desmonte de políticas sociais integradas, levou a estagnação e ao aumento expressivo da insegurança alimentar. A POF 2017-2018 aponta que a insegurança alimentar voltou a crescer, atingindo níveis alarmantes, com 4,6% de Insegurança Grave, um aumento de quase 50% em relação a PNAD 2013.
Cenário recente da segurança alimentar brasileira
Os dados da PNAD Contínua 2024 demonstram uma melhora substancial na Segurança Alimentar (SA). Em 2017-2018, apenas 63% dos domicílios brasileiros estavam em SA. Em 2024, esse patamar saltou para 75,8%, refletindo uma retomada na estabilidade alimentar após anos de retrocessos e crises. O ano de 2023 representa um ponto de inflexão, após um período marcado pelo desmonte de políticas sociais, representando uma retomada de programas voltados à segurança alimentar e à proteção social. Embora os avanços recentes sinalizem uma evolução positiva, é importante a ênfase em fortalecer políticas estruturantes, que trabalhem para combater gargalos históricos como a desigualdade de renda, bem como desigualdades regionais em seu território. Além disso, a instabilidade das políticas públicas no Brasil, decorrente, principalmente, da descontinuidade administrativa a cada mudança de governo e da forte dependência de ciclos eleitorais, são prejudiciais a construção de projetos de longo prazo, haja vista que, mudanças repentinas de gestão costumam paralisar programas de desenvolvimento social.
Uma comparação entre regiões
A partir de uma análise dos mapas, é possível observar que as regiões Norte e Nordeste concentram as maiores taxas de fome, enquanto o Sul registra os menores índices, evidenciando desigualdades estruturais históricas. Palmeira et al. estudaram o efeito de programas governamentais no enfrentamento da insegurança alimentar em um município da Região Nordeste e constataram que políticas voltadas à proteção de saúde, segurança alimentar, redução da pobreza e desenvolvimento rural estavam associados à manutenção da segurança alimentar ao longo do tempo e à superação da insegurança alimentar. No entanto, entre 2013 e 2018, essa região foi afetada por cortes orçamentários nos investimentos em políticas sociais decorrentes da crise, o que intensificou as desigualdades de renda e regionais.
Referências
1. SILVA, Sandro Pereira. A trajetória histórica da segurança alimentar e nutricional na agenda política nacional: projetos, descontinuidades e consolidação. Brasília: Ipea, abril. 2014. (Texto para Discussão, n. 1953).
Disponível em: https://repositorio.ipea.gov.br/handle/11058/3019. Acesso em: 3 de jul. 2026.
2. GOULART, Hélton Rodrigues; BERETTA, Regina Célia de Souza; GUERRA, José Alfredo de Pádua; BORGES, Marilurdes Cruz. O cenário da fome e da insegurança alimentar no Brasil: ato responsável às políticas públicas. Revista Aracê, v. 7, n. 11, 2025. Disponível em: https://periodicos.newsciencepubl.com/arace/article/view/9902. Acesso em: 3 de jul. 2026.
3. CHEROL, Camilla Christine de Souza; FERREIRA, Aline Alves; LIGNANI, Juliana de Bem; SALLES-COSTA, Rosana. Desigualdades regionais e sociais na insegurança alimentar no Brasil, 2013-2018. Cadernos de Saúde Pública, v. 38, n. 12, e00083822, 2022. Disponível no Portal de Periódicos da ENSP. Acesso em: 3 de jul. 2026.
4. SALLES-COSTA, Rosana et al. Rise and fall of household food security in Brazil, 2004 to 2022. Cadernos de Saúde Pública, v. 39, n. 1, e00191122, 2023. Disponível na Plataforma SciELO. Acesso em: 3 de jul. 2026.
5. HOFFMANN, Rodolfo. Insegurança Alimentar no Brasil após crise, sua evolução de 2004 a 2017-2018 e comparação com a variação da pobreza. Segurança Alimentar e Nutricional, Campinas, SP, v. 28, e021014, 2021. Disponível em: https://periodicos.sbu.unicamp.br/ojs/index.php/san/article/view/8663556. Acesso em: 3 de jul. 2026.
6. PALMEIRA, Poliana de Araújo; MATTOS, Ruben de Araújo; PÉREZ- ESCAMILLA, Rafael; SALLES-COSTA, Rosana. Multisectoral government
programs and household food insecurity: evidence from a longitudinal study in the semiarid area of northeast, Brazil. Food Security, v. 13, n. 3, p. 525-538, 2021. Disponível na Plataforma Springer. DOI: doi.org. Acesso em: 3 de jul. 2026.