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 dadosmapa <-read_excel("mapa empresas 2020-2023 atualizado.xlsx", skip =1) |>clean_names()
### CRIANDO GRÁFICO POR MESORREGIÃO### Filtros para dadosano <-2010situacao <-"Ativa"dados_filtrados <- mapa |>filter(ano_de_abertura == ano & tipo_situacao == situacao)# Criar uma tabela de frequência da variável Mesorregiãodados_mesorregiao <- dados_filtrados |>group_by(mesorregiao) |>summarise(total_empresas =sum(quantidade_de_empresas))# Calcular as porcentagensdados_mesorregiao$porcentagem <-round(dados_mesorregiao$total_empresas /sum(dados_mesorregiao$total_empresas) *100, 1)# Criar o gráfico de setorggplot(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 dadosdados_filtrados2 <- mapa |>filter(ano_de_abertura == ano & tipo_situacao == situacao)# Criar 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 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 xplot.title =element_text(hjust =0.2, 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")
### 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í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: 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")