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 <-2023situacao <-"Ativa"mapa |>filter(ano_de_abertura == ano & tipo_situacao == situacao) -> dados_filtrados# Criando uma tabela de frequência da variável Natureza Jurídicadados_mesorregião <- dados_filtrados |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_mesorregião$porcentagem <-round(dados_mesorregião$total_empresas /sum(dados_mesorregião$total_empresas) *100, 1)# Criar o gráfico de setorggplot(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 9000 22.9
2 Borborema 311 0.8
3 Sertão Paraibano 10234 26.1
4 Zona da Mata 19676 50.2
##### 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ídicadados_natu <- dados_filtrados2 |>group_by(natureza_juridica) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_natu$porcentagem <-round(dados_natu$total_empresas /sum(dados_natu$total_empresas) *100, 1)# Filtrar os 5 maiores valorestop_5_dados_natu <- dados_natu |>top_n(5, wt = total_empresas) |>arrange(desc(total_empresas))# Criar o gráfico de colunas com os 5 maioresggplot(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 Tipos de Empresas Abertas por \n 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 xplot.title =element_text(hjust =0,3, size =16, face ="bold"), # Centraliza o títuloplot.margin =margin(10, 10, 10, 10)) +# Adiciona margens para evitar corte do títulogeom_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 31309 79.8
2 Sociedade Limitada 7664 19.5
3 Sociedade Anônima Fechada 97 0.2
4 Sociedade em Conta de Participação 62 0.2
5 Cooperativa 29 0.1
###### 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ídicadados_emp_ind <- dados_filtrados3 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_emp_ind$porcentagem <-round(dados_emp_ind$total_empresas /sum(dados_emp_ind$total_empresas) *100, 1)# Criar o gráfico de barrasggplot(dados_emp_ind, aes(x = mesorregiao, y = total_empresas, fill = mesorregiao)) +geom_bar(stat ="identity", color ="white") +labs(title =paste(ano, "Paraíba: Empresas individuais 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_emp_ind)
# A tibble: 4 × 3
mesorregiao total_empresas porcentagem
<chr> <dbl> <dbl>
1 Agreste Paraibano 44532 23.8
2 Borborema 1921 1
3 Sertão Paraibano 59602 31.9
4 Zona da Mata 81049 43.3
### CRIANDO GRÁFICO SOCIEDADE ANÔNIMA ABERTA POR MESORREGIÃOmapa |>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ídicadados_soc_ano_ab <- dados_filtrados4 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_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 barrasggplot(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 \n 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 124 20.7
2 Borborema 3 0.5
3 Sertão Paraibano 168 28.1
4 Zona da Mata 303 50.7
### CRIANDO GRÁFICO SOCIEDADE ANÔNIMA FECHADA POR MESORREGIÃOmapa |>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ídicadados_soc_ano_fx <- dados_filtrados5 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_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 barrasggplot(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 225 20.6
2 Borborema 3 0.3
3 Sertão Paraibano 208 19.1
4 Zona da Mata 655 60
### CRIANDO GRÁFICO SOCIEDADE LIMITADA POR MESORREGIÃOmapa |>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ídicadados_soc_limi<- dados_filtrados6 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_soc_limi$porcentagem <-round(dados_soc_limi$total_empresas /sum(dados_soc_limi$total_empresas) *100, 1)# Criar o gráfico de barrasggplot(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 13677 21.7
2 Borborema 281 0.4
3 Sertão Paraibano 14074 22.3
4 Zona da Mata 34991 55.5
### CRIANDO GRÁFICO MEI POR MESORREGIÃOmapa |>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ídicadados_mei<- dados_filtrados7 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_mei$porcentagem <-round(dados_mei$total_empresas /sum(dados_mei$total_empresas) *100, 1)# Criar o gráfico de barrasggplot(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 35170 23.5
2 Borborema 1555 1
3 Sertão Paraibano 44609 29.8
4 Zona da Mata 68237 45.6
### CRIANDO GRÁFICO MEI POR MESORREGIÃOmapa |>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ídicadados_n_mei<- dados_filtrados8 |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_n_mei$porcentagem <-round(dados_n_mei$total_empresas /sum(dados_n_mei$total_empresas) *100, 1)# Criar o gráfico de barrasggplot(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 23693 22.9
2 Borborema 663 0.6
3 Sertão Paraibano 29974 28.9
4 Zona da Mata 49347 47.6