Introdução

Esta análise investiga o grau de especialização produtiva dos municípios catarinenses na agricultura temporária. Através de dados do IBGE, calculamos um Índice de Especialização Produtiva que varia de 0 (produção totalmente diversificada) a 1 (monocultura).

Objetivos da Análise:

Identificar municípios com alta especialização (monoculturas)

Detectar municípios com produção diversificada

Analisar a soja como cultura estratégica

Compreender padrões regionais de produção

🛠 Configuração do Ambiente

# Carregamento dos pacotes 
library(sidrar)    # Para acesso à API do IBGE 
library(tidyverse) # Para manipulação e visualização de dados 
library(writexl)   # Para exportar resultados para Excel 
library(scales)    # Para formatação de porcentagens 
cat("Pacotes carregados com sucesso!")
## Pacotes carregados com sucesso!

📊 Metodologia Fonte dos Dados

Fonte: IBGE - Pesquisa Agrícola Municipal (PAM)

Tabela: 1612 - Produção agrícola municipal

Variável: 214 - Quantidade produzida

Classificação: C81 - Produtos das lavouras temporárias

Abrangência: Municípios de Santa Catarina

Cálculo do Índice de Especialização O índice é calculado como:

Índice = Produção do Produto Principal / Produção Total do Município

Onde:

1.0 = Monocultura (100% da produção em um único produto)

0.0 = Produção perfeitamente distribuída entre todos os produtos

🔍 Coleta de Dados

# Baixar dados do IBGE para Santa Catarina (código 42)
dados_ibge <- get_sidra(
  x = 1612,                    # Tabela PAM
  variable = 214,              # Quantidade produzida
  geo = "City",                # Nível municipal
  geo.filter = list(State = 42), # Santa Catarina
  classific = "c81",           # Classificação de produtos
  category = "all"             # Todos os produtos
)

cat("Dados baixados com sucesso!")
## Dados baixados com sucesso!
cat("Número de observações:", nrow(dados_ibge))
## Número de observações: 10030
cat("Número de municípios:", n_distinct(dados_ibge$`Município`))
## Número de municípios: 295

🧮 Processamento dos Dados

# Processamento para cálculo do índice de especialização - VERSÃO CORRIGIDA

# Primeiro, vamos verificar os nomes reais das colunas
cat("Nomes das colunas disponíveis:\n")
## Nomes das colunas disponíveis:
print(names(dados_ibge))
##  [1] "Nível Territorial (Código)"               
##  [2] "Nível Territorial"                        
##  [3] "Unidade de Medida (Código)"               
##  [4] "Unidade de Medida"                        
##  [5] "Valor"                                    
##  [6] "Município (Código)"                       
##  [7] "Município"                                
##  [8] "Ano (Código)"                             
##  [9] "Ano"                                      
## [10] "Variável (Código)"                        
## [11] "Variável"                                 
## [12] "Produto das lavouras temporárias (Código)"
## [13] "Produto das lavouras temporárias"
# Abordagem usando índices numéricos (evita problemas de encoding)
resultados_especializacao <- dados_ibge %>%
  # Selecionar colunas por posição
  select(
    Municipio_cod = 6,        # Município (Código) - posição 6
    Municipio_nome = 7,       # Município - posição 7
    Produto = 13,             # Produto das lavouras temporárias - posição 13
    Quantidade = 5            # Valor - posição 5
  ) %>%
  # Converter Quantidade para numérico (importante!)
  mutate(Quantidade = as.numeric(Quantidade)) %>%
  # Remover valores missing
  drop_na() %>%
  
  # Agrupar por município e produto para somar quantidades
  group_by(Municipio_cod, Municipio_nome, Produto) %>%
  summarise(Quantidade = sum(Quantidade), .groups = "drop") %>%
  
  # Calcular totais por município e proporções
  group_by(Municipio_cod, Municipio_nome) %>%
  mutate(
    ProducaoTotal = sum(Quantidade),
    Proporcao = Quantidade / ProducaoTotal
  ) %>%
  
  # Identificar produto principal e calcular índice
  summarise(
    ProdutoPrincipal = Produto[which.max(Quantidade)],
    QuantidadePrincipal = max(Quantidade),
    ProducaoTotal = first(ProducaoTotal),
    IndiceEspecializacao = max(Quantidade) / first(ProducaoTotal),
    .groups = "drop"
  ) %>%
  
  # Ordenar por especialização (maior para menor)
  arrange(desc(IndiceEspecializacao))

cat("✅ Processamento concluído!")
## ✅ Processamento concluído!
cat("📊 Total de municípios processados:", nrow(resultados_especializacao))
## 📊 Total de municípios processados: 292
# Análise Comparativa: Especialização vs Diversificação
# Separar os extremos: 20 mais e 20 menos especializados
mais_especializados <- resultados_especializacao %>%
  arrange(desc(IndiceEspecializacao)) %>%
  head(20)

menos_especializados <- resultados_especializacao %>%
  arrange(IndiceEspecializacao) %>%
  head(20)

cat("✅ Análise comparativa preparada:\n")
## ✅ Análise comparativa preparada:
cat("• 20 municípios mais especializados\n") 
## • 20 municípios mais especializados
cat("• 20 municípios mais diversificados\n")
## • 20 municípios mais diversificados
# Visualizar os 20 municípios mais especializados
top_20_especializados <- head(resultados_especializacao, 20)

knitr::kable(top_20_especializados, 
             caption = "20 Municipios Catarinenses com Maior Especializacao Produtiva")
20 Municipios Catarinenses com Maior Especializacao Produtiva
Municipio_cod Municipio_nome ProdutoPrincipal QuantidadePrincipal ProducaoTotal IndiceEspecializacao
4206009 Governador Celso Ramos - SC Mandioca 50 50 1.0000000
4208302 Itapema - SC Mandioca 82 82 1.0000000
4213500 Porto Belo - SC Mandioca 48 48 1.0000000
4212650 Pescaria Brava - SC Mandioca 3940 3951 0.9972159
4202107 Barra Velha - SC Arroz (em casca) 2695 2747 0.9810703
4207106 Ilhota - SC Arroz (em casca) 21700 22120 0.9810127
4213807 Praia Grande - SC Arroz (em casca) 31752 32409 0.9797279
4210605 Massaranduba - SC Arroz (em casca) 48233 49308 0.9781983
4206504 Guaramirim - SC Arroz (em casca) 37600 38520 0.9761163
4201307 Araquari - SC Arroz (em casca) 18486 19083 0.9687156
4211306 Navegantes - SC Arroz (em casca) 7296 7556 0.9655903
4203204 Camboriú - SC Arroz (em casca) 8370 8844 0.9464043
4218806 Turvo - SC Arroz (em casca) 90060 95823 0.9398579
4216354 São João do Itaperiú - SC Arroz (em casca) 16776 17876 0.9384650
4202503 Bom Jardim da Serra - SC Batata-inglesa 5000 5361 0.9326618
4208203 Itajaí - SC Arroz (em casca) 16200 17492 0.9261377
4205902 Gaspar - SC Arroz (em casca) 23651 25579 0.9246257
4210852 Mirim Doce - SC Arroz (em casca) 12426 13469 0.9225629
4212809 Balneário Piçarras - SC Arroz (em casca) 1540 1670 0.9221557
4210803 Meleiro - SC Arroz (em casca) 92739 101088 0.9174086
# Gráfico geral de especialização produtiva - SEM ACENTOS
ggplot(resultados_especializacao, 
       aes(x = reorder(Municipio_nome, IndiceEspecializacao), 
           y = IndiceEspecializacao)) +
  geom_col(fill = "tomato", alpha = 0.8) +
  coord_flip() +
  labs(
    x = "Municipio",
    y = "Indice de Especializacao Produtiva",
    title = "Municipios Catarinenses por Grau de Especializacao Produtiva",
    subtitle = "Valores proximos de 1 indicam alta especializacao (monocultura)",
    caption = "Fonte: IBGE - PAM"
  ) +
  theme_minimal() +
  theme(
    axis.text.y = element_text(size = 6),
    plot.title = element_text(size = 14, face = "bold"),
    plot.subtitle = element_text(size = 10)
  ) +
  scale_y_continuous(labels = scales::percent, 
                     limits = c(0, 1),
                     breaks = seq(0, 1, 0.2))

# Gráfico dos 20 MAIS ESPECIALIZADOS - SEM ACENTOS
ggplot(mais_especializados, 
       aes(x = reorder(Municipio_nome, IndiceEspecializacao), 
           y = IndiceEspecializacao,
           fill = ProdutoPrincipal)) +
  geom_col() +
  coord_flip() +
  labs(
    x = "",
    y = "Indice de Especializacao",
    title = "Municipios com Maior Especializacao Produtiva em SC",
    subtitle = "Padrao de monocultura - produto principal destacado por cor",
    fill = "Produto Principal",
    caption = "Valores proximos de 100% indicam quase monocultura"
  ) +
  theme_minimal() +
  theme(
    axis.text.y = element_text(size = 8, face = "bold"),
    legend.position = "bottom",
    plot.title = element_text(face = "bold", color = "#d73027")
  ) +
  scale_y_continuous(labels = scales::percent, limits = c(0, 1)) +
  scale_fill_viridis_d()

# Gráfico dos 20 MENOS ESPECIALIZADOS - SEM ACENTOS
ggplot(menos_especializados, 
       aes(x = reorder(Municipio_nome, -IndiceEspecializacao), 
           y = IndiceEspecializacao)) +
  geom_col(fill = "steelblue", alpha = 0.8) +
  coord_flip() +
  labs(
    x = "",
    y = "Indice de Especializacao",
    title = "Municipios com Maior Diversificacao Produtiva em SC",
    subtitle = "Valores proximos de zero indicam producao bem distribuida",
    caption = "Municipios com agricultura mais balanceada"
  ) +
  theme_minimal() +
  theme(
    axis.text.y = element_text(size = 8, face = "bold"),
    plot.title = element_text(face = "bold", color = "#4575b4")
  ) +
  scale_y_continuous(labels = scales::percent)

# Criar destaque específico para soja
menos_especializados_soja <- menos_especializados %>%
  mutate(Destaque_Soja = ifelse(ProdutoPrincipal == "Soja (em grão)", "Soja", "Outros"))

# Contar municípios com soja como principal produto
contagem_soja <- menos_especializados_soja %>%
  count(Destaque_Soja)

cat("Municípios com soja como produto principal entre os menos especializados:")
## Municípios com soja como produto principal entre os menos especializados:
print(contagem_soja)
## # A tibble: 2 × 2
##   Destaque_Soja     n
##   <chr>         <int>
## 1 Outros           14
## 2 Soja              6
# Gráfico com destaque para soja - SEM ACENTOS
ggplot(menos_especializados_soja, 
       aes(x = reorder(Municipio_nome, -IndiceEspecializacao), 
           y = IndiceEspecializacao,
           fill = Destaque_Soja)) +
  geom_col(width = 0.8) +
  coord_flip() +
  labs(
    x = "",
    y = "Indice de Especializacao",
    title = "Diversificacao Produtiva com Destaque para Soja",
    subtitle = "Municipios diversificados onde a soja e o produto principal",
    fill = "",
    caption = "Laranja: Soja como principal produto | Azul: Outros produtos"
  ) +
  theme_minimal() +
  theme(
    axis.text.y = element_text(size = 9, face = "bold"),
    legend.position = "top",
    plot.title = element_text(size = 14, face = "bold"),
    plot.subtitle = element_text(size = 10)
  ) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  scale_fill_manual(
    values = c("Soja" = "#e6550d",
               "Outros" = "#9ecae1")
  )

# Aprofundando a Análise com Filtro de Produção - VERSÃO CORRIGIDA

# Abordagem corrigida - converter para numérico
resultados_filtrados <- dados_ibge %>%
  # Selecionar colunas por posição
  select(
    Municipio_cod = 6,        # Município (Código)
    Municipio_nome = 7,       # Município
    Produto = 13,             # Produto das lavouras temporárias (posição 13)
    Quantidade = 5            # Valor (posição 5)
  ) %>%
  # Converter Quantidade para numérico
  mutate(Quantidade = as.numeric(Quantidade)) %>%
  drop_na() %>%
  group_by(Municipio_cod, Municipio_nome, Produto) %>%
  summarise(Quantidade = sum(Quantidade), .groups = "drop") %>%
  group_by(Municipio_cod, Municipio_nome) %>%
  mutate(
    ProducaoTotal = sum(Quantidade)
  ) %>%
  # FILTRO: apenas municípios com produção relevante
  filter(ProducaoTotal >= 50000) %>%
  mutate(
    Proporcao = Quantidade / ProducaoTotal
  ) %>%
  summarise(
    ProdutoPrincipal = Produto[which.max(Quantidade)],
    QuantidadePrincipal = max(Quantidade),
    ProducaoTotal = first(ProducaoTotal),
    IndiceEspecializacao = max(Quantidade) / first(ProducaoTotal),
    .groups = "drop"
  ) %>%
  arrange(desc(IndiceEspecializacao))

cat("Municípios após filtro de produção (>= 50.000 ton):", nrow(resultados_filtrados))
## Municípios após filtro de produção (>= 50.000 ton): 37
# Gráfico dos municípios filtrados - SEM ACENTOS
resultados_filtrados %>%
  head(20) %>%
  ggplot(aes(x = reorder(Municipio_nome, IndiceEspecializacao), 
             y = IndiceEspecializacao,
             fill = ProdutoPrincipal)) +
  geom_col(alpha = 0.9) +
  geom_text(aes(label = scales::percent(IndiceEspecializacao, accuracy = 1)), 
            hjust = -0.1, size = 3.5, fontface = "bold") +
  coord_flip() +
  labs(
    x = "MUNICIPIO",
    y = "INDICE DE ESPECIALIZACAO",
    title = "TOP 20 - MUNICIPIOS MAIS ESPECIALIZADOS",
    subtitle = "Filtro: producao total >= 50.000 toneladas",
    fill = "PRODUTO PRINCIPAL:",
    caption = "Fonte: IBGE/SIDRA - Santa Catarina | Dados: Producao Agricola Municipal"
  ) +
  scale_y_continuous(
    labels = scales::percent_format(accuracy = 1),
    limits = c(0, 1.05),
    expand = c(0, 0)
  ) +
  scale_fill_viridis_d() +
  theme_minimal() +
  theme(
    legend.position = "bottom",
    plot.title = element_text(face = "bold", size = 16, color = "#2E8B57"),
    plot.subtitle = element_text(size = 12, color = "gray40", margin = margin(b = 10)),
    axis.text.y = element_text(size = 10, face = "bold", color = "black"),
    axis.text.x = element_text(size = 10, face = "bold"),
    axis.title = element_text(face = "bold", size = 11),
    legend.title = element_text(face = "bold", size = 11),
    legend.text = element_text(size = 10),
    panel.grid.major.y = element_blank(),
    panel.grid.minor.y = element_blank()
  ) +
  guides(fill = guide_legend(nrow = 2, byrow = TRUE))

# Análise da distribuição dos produtos principais
distribuicao_produtos <- resultados_filtrados %>%
  count(ProdutoPrincipal, sort = TRUE) %>%
  mutate(Percentual = n/nrow(resultados_filtrados))

cat("Distribuição dos produtos principais:")
## Distribuição dos produtos principais:
print(distribuicao_produtos)
## # A tibble: 5 × 3
##   ProdutoPrincipal     n Percentual
##   <chr>            <int>      <dbl>
## 1 Soja (em grão)      21     0.568 
## 2 Arroz (em casca)     7     0.189 
## 3 Cebola               5     0.135 
## 4 Milho (em grão)      2     0.0541
## 5 Tomate               2     0.0541
# Gráfico de distribuição - SEM ACENTOS
distribuicao_produtos %>%
  head(10) %>%
  mutate(ProdutoPrincipal = fct_reorder(ProdutoPrincipal, n)) %>%
  ggplot(aes(x = n, y = ProdutoPrincipal)) +
  geom_col(fill = "#4682B4", alpha = 0.9, width = 0.8) +
  geom_text(aes(label = paste0(n, " (", scales::percent(Percentual, accuracy = 0.1), ")")), 
            hjust = -0.1, size = 4, fontface = "bold", color = "black") +
  labs(
    x = "NUMERO DE MUNICIPIOS",
    y = "PRODUTO PRINCIPAL",
    title = "PRODUTOS AGRICOLAS DOMINANTES EM SANTA CATARINA",
    subtitle = "Top 10 culturas mais frequentes como produto principal",
    caption = "Fonte: IBGE/SIDRA | Entre parenteses: percentual do total de municipios"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 16, color = "#2F4F4F"),
    plot.subtitle = element_text(size = 12, color = "gray40", margin = margin(b = 15)),
    axis.text.y = element_text(size = 10, face = "bold", color = "black"),
    axis.text.x = element_text(size = 10, face = "bold"),
    axis.title = element_text(face = "bold", size = 12, color = "black"),
    panel.grid.major.y = element_blank(),
    panel.grid.minor.y = element_blank(),
    plot.caption = element_text(size = 9, color = "gray50")
  ) +
  scale_x_continuous(expand = expansion(mult = c(0, 0.2)))

# Exportar resultados para Excel
lista_exportacao <- list(
  "Todos_Municipios" = resultados_especializacao,
  "Mais_Especializados" = mais_especializados,
  "Menos_Especializados" = menos_especializados,
  "Com_Filtro_Producao" = resultados_filtrados,
  "Distribuicao_Produtos" = distribuicao_produtos
)

# Exportar para Excel
write_xlsx(
  lista_exportacao,
  path = "analise_especializacao_sc.xlsx"
)

cat("Resultados exportados para 'analise_especializacao_sc.xlsx'")
## Resultados exportados para 'analise_especializacao_sc.xlsx'

🎯 Principais Insights: Padrões Regionais: Identificação de regiões especializadas em cultivos específicos

Vulnerabilidades: Municípios com alta especialização são mais vulneráveis a crises setoriais

Oportunidades: Municípios diversificados têm maior resiliência econômica

Soja: Análise do papel estratégico desta cultura mesmo em contextos diversificados

📚 Conclusão Esta análise fornece uma visão abrangente da estrutura produtiva agrícola catarinense, identificando:

✅ Municípios especializados que dependem fortemente de monoculturas

✅ Municípios diversificados com agricultura balanceada

✅ Padrões regionais de especialização produtiva

✅ O papel estratégico da soja na agricultura estadual

Os resultados podem subsidiar políticas públicas de desenvolvimento rural, estratégias de diversificação produtiva e estudos de resiliência econômica regional.

Análise realizada com dados do IBGE através do pacote sidrar no R Código disponível para reprodução e adaptação