GRÁFICO E DADOS PARA 2010

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
mapa <- read_excel("mapa empresas 2020-2023 atualizado.xlsx", skip = 1 ) |> clean_names()

##
### EMPRESAS ABERTAS POR MESORREGIÃO
##
#FILTROS PARA DADOS 

ano <- 2010
situacao <- "Ativa"


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





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

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


# Criar o gráfico de setor
ggplot(dados_mesorregião, 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.7, size = 14, face = "bold")) +
  geom_text(aes(label = paste0(porcentagem, "%")), 
            position = position_stack(vjust = 0.5), size = 4, color = "black") +
  scale_fill_brewer(palette = "Set3")

print(dados_mesorregião)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano           1312        24.4
2 Borborema                     47         0.9
3 Sertão Paraibano            1795        33.4
4 Zona da Mata                2216        41.3
##
### EMPRESAS ABERTAS POR NATURAZA JURÍDICA
##

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


# Criando 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 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,3, 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")
Warning in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)): font family
not found in Windows font database
Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
family not found in Windows font database
Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
font family not found in Windows font database

print(top_5_dados_natu)
# A tibble: 5 × 3
  natureza_juridica         total_empresas porcentagem
  <chr>                              <dbl>       <dbl>
1 Empresário Individual               3749        69.8
2 Sociedade Limitada                  1562        29.1
3 Sociedade Anônima Fechada             17         0.3
4 Sociedade Anônima Aberta              16         0.3
5 Cooperativa                           10         0.2
###
### CRIANDO GRÁFICO EMPRESÁRIO INDIVIDUAL POR MESORREGIÃO
###

mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & natureza_juridica == "Empresário Individual" ) -> 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")

print(dados_emp_ind)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano           4074        24  
2 Borborema                    160         0.9
3 Sertão Paraibano            8008        47.1
4 Zona da Mata                4758        28  
### CRIANDO GRÁFICO SOCIEDADE ANÔNIMA ABERTA POR MESORREGIÃO



mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & natureza_juridica == "Sociedade Anônima Aberta") -> dados_filtrados4




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

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


# Criar o gráfico de barras
ggplot(dados_soc_ano_ab, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: Sociedades anônimas abertas ativas 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")

print(dados_soc_ano_ab)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano             33        15.6
2 Borborema                      2         0.9
3 Sertão Paraibano              82        38.9
4 Zona da Mata                  94        44.5
### CRIANDO GRÁFICO SOCIEDADE ANÔNIMA FECHADA POR MESORREGIÃO



mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & natureza_juridica == "Sociedade Anônima Fechada") -> dados_filtrados5




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

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


# Criar o gráfico de barras
ggplot(dados_soc_ano_fx, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: Sociedades anônimas abertas ativas 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")

print(dados_soc_ano_fx)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano             90        23.2
2 Borborema                      2         0.5
3 Sertão Paraibano              52        13.4
4 Zona da Mata                 244        62.9
### CRIANDO GRÁFICO SOCIEDADE LIMITADA POR MESORREGIÃO



mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & natureza_juridica == "Sociedade Limitada") -> dados_filtrados6



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

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


# Criar o gráfico de barras
ggplot(dados_soc_limi, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: Sociedades limitada ativas 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")

print(dados_soc_limi)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano           3872        25.2
2 Borborema                     60         0.4
3 Sertão Paraibano            3598        23.4
4 Zona da Mata                7855        51.1
### CRIANDO GRÁFICO MEI POR MESORREGIÃO



mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & opcao_mei == "MEI") -> dados_filtrados7



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

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


# Criar o gráfico de barras
ggplot(dados_mei, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: MEI ativas 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")

print(dados_mei)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano           1210        24  
2 Borborema                     63         1.2
3 Sertão Paraibano            2444        48.4
4 Zona da Mata                1334        26.4
### CRIANDO GRÁFICO MEI POR MESORREGIÃO



mapa |> filter(ano_de_abertura < ano+1 & tipo_situacao == situacao & opcao_mei == "Não-MEI") -> dados_filtrados8



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

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


# Criar o gráfico de barras
ggplot(dados_n_mei, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +
  geom_bar(stat = "identity", color = "white") +
  labs(title = paste(ano, "Paraíba: Não MEI ativas 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")

print(dados_n_mei)
# A tibble: 4 × 3
  mesorregiao       total_empresas porcentagem
  <chr>                      <dbl>       <dbl>
1 Agreste Paraibano           7023        24.5
2 Borborema                    170         0.6
3 Sertão Paraibano            9671        33.7
4 Zona da Mata               11826        41.2