# Carregar pacotes necessários
library(ggplot2)
Warning: package 'ggplot2' was built under R version 4.3.3
library(tidyverse)
Warning: package 'tidyverse' was built under R version 4.3.3
Warning: package 'tidyr' was built under R version 4.3.3
Warning: package 'readr' was built under R version 4.3.3
Warning: package 'dplyr' was built under R version 4.3.3
Warning: package 'stringr' was built under R version 4.3.3
Warning: package 'lubridate' was built under R version 4.3.3
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ lubridate 1.9.3     ✔ tibble    3.2.1
✔ purrr     1.0.2     ✔ tidyr     1.3.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
Warning: package 'readxl' was built under R version 4.3.3
library(janitor)
Warning: package 'janitor' was built under R version 4.3.3

Attaching package: 'janitor'

The following objects are masked from 'package:stats':

    chisq.test, fisher.test
library(openxlsx)
Warning: package 'openxlsx' was built under R version 4.3.3
# Ler e limpar os dados
mapa <- read_excel("mapa empresas 2020-2023 atualizado.xlsx", skip = 1) |> clean_names()
### CRIANDO GRÁFICO POR MESORREGIÃO
##
# Filtros para dados
ano <- 2010
situacao <- "Ativa"

dados_filtrados <- mapa |> 
  filter(ano_de_abertura == ano & tipo_situacao == situacao)

# Criar uma tabela de frequência da variável Mesorregião
dados_mesorregiao <- dados_filtrados |>  
  group_by(mesorregiao) |> 
  summarise(total_empresas = sum(quantidade_de_empresas))

# Calcular as porcentagens
dados_mesorregiao$porcentagem <- round(dados_mesorregiao$total_empresas / sum(dados_mesorregiao$total_empresas) * 100, 1)

# Criar o gráfico de setor
ggplot(dados_mesorregiao, aes(x = "", y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", width = 1, color = "white") +
  coord_polar("y", start = 0) +
  labs(title = paste(ano, "- Paraíba: Abertura de Empresas por Mesorregião"),
       fill = "Mesorregião") +
  theme_minimal() +
  theme(axis.text.x = element_blank(),
        axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        plot.title = element_text(hjust = 0.3, size = 16, face = "bold")) +
  geom_text(aes(label = paste0(porcentagem, "%")), 
            position = position_stack(vjust = 0.5), size = 5, color = "black") +
  scale_fill_brewer(palette = "Set3")

### CRIANDO GRÁFICO POR NATUREZA JURÍDICA
##
# Filtros para dados
dados_filtrados2 <- mapa |> 
  filter(ano_de_abertura == ano & tipo_situacao == situacao)

# Criar uma tabela de frequência da variável Natureza Jurídica
dados_natu <- dados_filtrados2 |>  
  group_by(natureza_juridica) |> 
  summarise(total_empresas = sum(quantidade_de_empresas))

# Calcular as porcentagens
dados_natu$porcentagem <- round(dados_natu$total_empresas / sum(dados_natu$total_empresas) * 100, 1)

# Filtrar os 5 maiores valores
top_5_dados_natu <- dados_natu |> 
  top_n(5, wt = total_empresas) |> 
  arrange(desc(total_empresas))

# Criar o gráfico de colunas com os 5 maiores
ggplot(top_5_dados_natu, aes(x = reorder(natureza_juridica, -total_empresas), y = total_empresas, fill = natureza_juridica)) +
  geom_col(color = "white") +
  labs(title = paste(ano, "- Paraíba: 5 Empresas mais abertas por Natureza Jurídica"),
       x = "Natureza Jurídica",
       y = "Total de Empresas",
       fill = "Natureza Jurídica") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),  # Ajusta o ângulo e o alinhamento dos rótulos do eixo x
        plot.title = element_text(hjust = 0.2, size = 16, face = "bold"),  # Centraliza o título
        plot.margin = margin(10, 10, 10, 10)) +  # Adiciona margens para evitar corte do título
  geom_text(aes(label = paste0(porcentagem, "%")),
            position = position_stack(vjust = 0.5), size = 5, color = "black") +
  scale_fill_brewer(palette = "Set3")

### CRIANDO GRÁFICO EMPRESÁRIO INDIVIDUAL POR MESORREGIÃO
##
#FILTROS PARA DADOS 

#ano <- 2023
#situacao <- "Ativa"


mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao) -> dados_filtrados3




  # Criando uma tabela de frequência da variável Natureza Jurídica
dados_emp_ind <- dados_filtrados3 |>  group_by(mesorregiao) |> summarise(total_empresas = sum(quantidade_de_empresas))

# Calcular as porcentagens
dados_emp_ind$porcentagem <- round(dados_emp_ind$total_empresas / sum(dados_emp_ind$total_empresas) * 100, 1)


# Criar o gráfico de barras
ggplot(dados_emp_ind, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: Empresários individuais ativos por mesorregião"), 
       x = "Mesorregião", 
       y = "Total de Empresas",
       fill = "Mesorregião") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.3, size = 15, face = "bold")) +
  geom_text(aes(label = paste0(porcentagem, "%")), 
            position = position_stack(vjust = 0.5), size = 4, color = "black") +
  scale_fill_brewer(palette = "Set3")