A concessão de bolsas de formação para o nível superior é um importante instrumento fomentado pelo governo brasileiro, pois ajuda a apoiar e a desenvolver atividades científicas e tecnológicas que permeiam diversas áreas do conhecimento. A formação de profissionais qualificados é incentivada, pois a concessão de bolsas tem o intuito de fornecer aos estudantes e pesquisadores um recurso financeiro para que se dediquem integralmente à realização das pesquisas e aos estudos, visando assim evitar a evasão de estudantes por questões financeiras. Além disso, há o estímulo da produção de conhecimento acadêmico pois existem diversos requisitos do recebimento da bolsa que são exigidos aos contemplados, dentre os quais podemos destacar a publicação de artigos em jornais, convenções e revistas científicas adequadas.
O fortalecimento da capacidade de pesquisa e inovação, advindos dessa concessão de bolsas, pode gerar impactos positivos na economia com profissionais qualificados, como também na qualidade de vida da população com novas descobertas, entre outros, e em última instância no próprio desenvolvimento sustentável do país. Para que esse cenário ocorra, é de extrema importância o acompanhamento da distribuição desses recursos, contudo por muitas vezes os dados abertos são fornecidos de uma maneira que dificulta o acesso e o entendimento do cidadão comum. Esse projeto visa facilitar desde a visão do cidadão que deseja entender um pouco mais sobre as bolsas de estudos, até a realização de análise de dados mais aprofundadas para que possamos sempre visualizar possíveis melhorias no processo, e para que seja possível prezar por uma distribuição equitária das bolsas de fomento a pesquisa entre os estados da federação.
A priori consultamos o portal gov.br para identificarmos quais as principais fontes de dados abertos que poderíamos utilizar neste projeto. Diante do escopo da aplicação de bolsas para o nível superior, o acesso à área do Ministério da Ciência, Tecnologia e Inovação é o mais confiável para que possamos coletar os dados necessários para análise. Nesse acesso foi possível verificar diversas páginas com relatórios atualizados sobre diversas modalidades de pesquisa, bem como relatórios de anos anteriores. O Relatório de Pagamentos de Bolsas e Auxílios 2023 foi escolhido por ser o mais recente disponibilizado, e também por que atendia ao escopo definido para o projeto final da disciplina de análise de dados do curso de pós-graduação em informática aplicada da qual esse projeto faz parte.
O Relatório de Pagamentos de bolsas e auxílio de 2023 possui diversas informações distribuídas em mais de cento e sessenta mil linhas, as quais fazem parte de um arquivo CSV disponibilizado pelo CNPQ. Seu entendimento nos dá a oportunidade de aplicar os conhecimentos adquiridos durante a disciplina com o auxílio da linguagem R, para obter clareza na distribuição dos recursos aplicados para o pagamento das bolsas de fomento. O relatório possui diversos tópicos dentre os quais podemos citar: 1) a Linha de fomento,2) a Modalidade do financiamento ou fomento, 3) a Categoria ou nível do beneficiário (por exemplo, graduação, mestrado, doutorado), 4) o Nome da chamada ou edital do programa, 5) Programa do Conselho Nacional de Desenvolvimento Científico e Tecnológico, 6) O estado destino, 7) Sigla da instituição de destino, entre outros.
Trazer clareza a esses dados fornece aos estudantes e professores das instituições públicas do país o conhecimento necessário para sugestões de melhorias, assim como para incentivar parcerias e troca de conhecimentos e aprendizados que podem surgir de parceiras entre instituições, por isso, devemos estar ciente das oportunidades que são oferecidas pelo governo e quaisquer entidades de fomento. Visto isso, se faz necessário o empenho para exploração desse relatório e detalhamento mais técnicos distrbuídos nos tópicos seguintes.
Para realizar as operações de dados em R neste projeto foram utilizados os seguintes pacotes e bibliotecas.
# Se Necessário instalar esses pacotes
# install.packages("kableExtra")
# install.packages("rnaturalearth")
# install.packages("devtools")
# install.packages("remotes")
# usethis::gh_token_help() #Gerando novo token no git
# gitcreds::gitcreds_set() #Setando o token para poder baixar a dependencia abaixo
# remotes::install_github("AndySouth/rnaturalearthhires")
#install.packages("scales")
#Carregando os pacotes
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── 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(rnaturalearth)
library(rnaturalearthhires)
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
library(stringr)
library(scales)
##
## Attaching package: 'scales'
##
## The following object is masked from 'package:purrr':
##
## discard
##
## The following object is masked from 'package:readr':
##
## col_factor
library(showtext)
## Carregando pacotes exigidos: sysfonts
## Carregando pacotes exigidos: showtextdb
## Loading Google fonts (https://fonts.google.com/)
font_add_google("Gochi Hand", "gochi")
font_add_google("Schoolbell", "bell")
## Automatically use showtext to render text
showtext_auto()
Inicialmente se faz necessário a observação visual da planilha, pois é nessa inspeção que poderemos identificar quais tipos de dados existem, quais dentre eles podem ser elencados como fonte de informação relevante, quais precisam passar por um processo de padronização para a análise. Essas fontes de informação precisam estar disponíveis de forma adequada para a utilização das bibliotecas e métodos presentes na Linguagem R, visto que dados poluídos podem gerar problemas durante a execução dos nossos métodos que serão compilados pelo RStudio. Outro ponto importante, é perceber que essas fontes de informação podem ser utilizadas em conjunto para visualizarmos os dados de diferentes perspectivas, e assim chegarmos a novas ideias, conclusões ou identificar inconsistências.
Entre os tópicos presentes no relatório podemos destacar o estado do brasil na qual a bolsa de fomento foi concedida, a quantidade de bolsas presentes naquele estado e assim poderemos identificar quais as regiões do Brasil essas bolsas foram mais concedidas, pois esse é um subconjunto relevante no qual poderemos identificar desproporcionalidades na concessão.
#Baixar arquivo referentes aos mapas
#Baixando mapa do Brasil
mapa_brasil <- ne_states(country = "Brazil", returnclass = "sf")
# Ao analisar a estrutura do dataframe mapa_brasil podemos observar que
# o mapa_brasil$postal é a referencia que contem a sigla dos estados, e
# sera por essa estrutura que filtraremos cada um dos mapas dos estados.
AC <- mapa_brasil[mapa_brasil$postal == "AC",]
AL <- mapa_brasil[mapa_brasil$postal == "AL",]
AM <- mapa_brasil[mapa_brasil$postal == "AM",]
AP <- mapa_brasil[mapa_brasil$postal == "AP",]
BA <- mapa_brasil[mapa_brasil$postal == "BA",]
CE <- mapa_brasil[mapa_brasil$postal == "CE",]
DF <- mapa_brasil[mapa_brasil$postal == "DF",]
ES <- mapa_brasil[mapa_brasil$postal == "ES",]
GO <- mapa_brasil[mapa_brasil$postal == "GO",]
MA <- mapa_brasil[mapa_brasil$postal == "MA",]
MG <- mapa_brasil[mapa_brasil$postal == "MG",]
MS <- mapa_brasil[mapa_brasil$postal == "MS",]
MT <- mapa_brasil[mapa_brasil$postal == "MT",]
PA <- mapa_brasil[mapa_brasil$postal == "PA",]
PB <- mapa_brasil[mapa_brasil$postal == "PB",]
PE <- mapa_brasil[mapa_brasil$postal == "PE",]
PI <- mapa_brasil[mapa_brasil$postal == "PI",]
PR <- mapa_brasil[mapa_brasil$postal == "PR",]
RJ <- mapa_brasil[mapa_brasil$postal == "RJ",]
RN <- mapa_brasil[mapa_brasil$postal == "RN",]
RO <- mapa_brasil[mapa_brasil$postal == "RO",]
RR <- mapa_brasil[mapa_brasil$postal == "RR",]
RS <- mapa_brasil[mapa_brasil$postal == "RS",]
SC <- mapa_brasil[mapa_brasil$postal == "SC",]
SE <- mapa_brasil[mapa_brasil$postal == "SE",]
SP <- mapa_brasil[mapa_brasil$postal == "SP",]
TO <- mapa_brasil[mapa_brasil$postal == "TO",]
# Setando os nomes das regiões que não estao definidos no mapa
AC$region <- "Norte"
AL$region <- "Nordeste"
AM$region <- "Norte"
AP$region <- "Norte"
BA$region <- "Nordeste"
CE$region <- "Nordeste"
DF$region <- "Centro-Oeste"
ES$region <- "Sudeste"
GO$region <- "Centro-Oeste"
MA$region <- "Nordeste"
MG$region <- "Sudeste"
MS$region <- "Centro-Oeste"
MT$region <- "Centro-Oeste"
PA$region <- "Norte"
PB$region <- "Nordeste"
PE$region <- "Nordeste"
PI$region <- "Nordeste"
PR$region <- "Sul"
RJ$region <- "Sudeste"
RN$region <- "Nordeste"
RO$region <- "Norte"
RR$region <- "Norte"
RS$region <- "Sul"
SC$region <- "Sul"
SE$region <- "Nordeste"
SP$region <- "Sudeste"
TO$region <- "Norte"
#Concatenando todos os mapas para faciltar a geração do plot
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot()+
#geom_sf(data = mapa_brasil, color = "white")+
theme_void()+
geom_sf(data = dat,colour = "white",aes(fill=region))+
labs(title="Regiões do Brasil", fill="Região")
No passo anterior se fez necessário a utilização de um filtro para que fosse possível através das características identificadas no dataframe a inserção da identificação das regiões no mapa do Brasil, dessa forma criamos as condições necessárias para que fosse possível plotar o mapa adequadamente. Vale ressaltar que a padronização observada anteriormente com a adição das regiões para cada mapa dos estados teve o intuito de facilitar futuras plotagens e também como para outras visualizações de dados no mapa do Brasil no decorrer desse projeto.
Inicialmente iremos carregar o relatório através da leitura do arquivo CSV, dessa forma poderemos realizar consultas relacionadas em cada estados e assim coletar as repectivas quantidades de bolsas concedidas. Com base nisso, poderemos calcular a quantidade de bolsas por região, e seguinte plotagem do gráfico. Note que diversos comentários foram colocados no código para tentar facilitar o entendimento.
#Projeto Final
# Analise Relatório de Pagamentos de Bolsas e Auxílios 2023
# Primeiro precisamos começar
# Importando o csv como dataframe
relatorio_2023 <- as.data.frame(read.csv("relatorio_2023.csv"))
#============= Limpeza de dados com a remoção de cabecalho da planilha==========
#Sobrescrevendo o nome das colunas
colnames(relatorio_2023) <- relatorio_2023[7,]
#Removendo o cabecalho da planilha
relatorio_2023 <- relatorio_2023[-c(0:7),]
#===============================================================================
############################################
#Qual Regiao tem mais bolsas?
############################################
# Realizado consult abaixo para visualizarmos a criação da proxima atribuicao
sigla_regioes = levels(factor(relatorio_2023$REGIAO))
#Limpando dados que não podem ser utilizados nessa consulta c("CO","NE","NO","SE","SU")
sigla_regioes = sigla_regioes[4:8]
resposta <- c()
for(sigla in sigla_regioes){
relatorio_das_regioes <- relatorio_2023[which(relatorio_2023$REGIAO==sigla),]
numero_de_bolsas <- nrow(relatorio_das_regioes)
#print(sprintf("%s %d",sigla,numero_de_bolsas))
resposta<- c(resposta,numero_de_bolsas)
}
#print(resposta)
#Gerando dataframe com a resposta
bolsas_por_regiao <- data.frame("Regioes" = sigla_regioes,"Quantidade de Bolsas" = resposta)
#bolsas_por_regiao
#Consultando o estado com maior numero de bolsas
maior_bolsas_concedidas <- bolsas_por_regiao[which(bolsas_por_regiao$Quantidade.de.Bolsas ==
max(bolsas_por_regiao$Quantidade.de.Bolsas)),]
AC$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
AL$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
AM$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
AP$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
BA$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
CE$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
DF$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="CO"),]$Quantidade.de.Bolsas#"Centro-Oeste"
ES$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SE"),]$Quantidade.de.Bolsas#"Sudeste"
GO$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="CO"),]$Quantidade.de.Bolsas#"Centro-Oeste"
MA$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
MG$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SE"),]$Quantidade.de.Bolsas#"Sudeste"
MS$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="CO"),]$Quantidade.de.Bolsas#"Centro-Oeste"
MT$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="CO"),]$Quantidade.de.Bolsas#"Centro-Oeste"
PA$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
PB$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
PE$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
PI$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
PR$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SU"),]$Quantidade.de.Bolsas#"Sul"
RJ$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SE"),]$Quantidade.de.Bolsas#"Sudeste"
RN$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
RO$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
RR$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
RS$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SU"),]$Quantidade.de.Bolsas#"Sul"
SC$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SU"),]$Quantidade.de.Bolsas#"Sul"
SE$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NE"),]$Quantidade.de.Bolsas#"Nordeste"
SP$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="SE"),]$Quantidade.de.Bolsas#"Sudeste"
TO$region <- bolsas_por_regiao[which(bolsas_por_regiao$Regioes=="NO"),]$Quantidade.de.Bolsas#"Norte"
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
texto <- paste("Regiao ",maior_bolsas_concedidas$Regioes, " disponibilizou a maior quantidade:",
maior_bolsas_concedidas$Quantidade.de.Bolsas, "bolsas")
ggplot() +
theme_void()+
labs(title=texto, fill="Quantidade de Bolsas")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_gradient2()
Ao observarmos as cores do gráfico acima, é possível verificar que há uma quantidade significativa de bolsas na região sudeste, quando comparamos visualmente com os demais estados. O que pode estar relacionado principalmente com o índice demográfico da região, sendo considerado o maior do país pelo Censo IBGE de 2022.
Outro ponto interessante quando olhando para o relatório é entender o total que foi gasto em cada estado, para isso precisamos somar todos os valores concedidos em cada uma das bolsas em cada estado. O detalhe tecnico está descrito no código abaixo.
################################################################################
# Qual o Estado tem maior orcamento dessas bolsas?
################################################################################
sigla_estados = c("AC","AL","AM","AP","BA","CE","DF","ES","GO","MA","MG","MS","MT",
"PA","PB","PE","PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO")
resposta <- c()
for(sigla in sigla_estados){
relatorio_do_estados <- relatorio_2023[which(relatorio_2023$SIGLA_UF_DESTINO==sigla),]
orcamento <- 0.0
for(x in 1:nrow(relatorio_do_estados)){
orcamento<-orcamento + as.numeric(gsub(",", "",gsub("\\$|\\s", "",
x = relatorio_do_estados$VALOR_PAGO[x])))
}
resposta<- c(resposta,orcamento)
}
orcamento_por_estado <- data.frame("Estado" = sigla_estados,"Orcamento" = resposta)
AC$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="AC"),]$Orcamento)#"Norte"
AL$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="AL"),]$Orcamento)#"Nordeste"
AM$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="AM"),]$Orcamento)#"Norte"
AP$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="AP"),]$Orcamento)#"Norte"
BA$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="BA"),]$Orcamento)#"Nordeste"
CE$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="CE"),]$Orcamento)#"Nordeste"
DF$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="DF"),]$Orcamento)#"Centro-Oeste"
ES$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="ES"),]$Orcamento)#"Sudeste"
GO$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="GO"),]$Orcamento)#"Centro-Oeste"
MA$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="MA"),]$Orcamento)#"Nordeste"
MG$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="MG"),]$Orcamento)#"Sudeste"
MS$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="MS"),]$Orcamento)#"Centro-Oeste"
MT$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="MT"),]$Orcamento)#"Centro-Oeste"
PA$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="PA"),]$Orcamento)#"Norte"
PB$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="PB"),]$Orcamento)#"Nordeste"
PE$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="PE"),]$Orcamento)#"Nordeste"
PI$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="PI"),]$Orcamento)#"Nordeste"
PR$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="PR"),]$Orcamento)#"Sul"
RJ$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="RJ"),]$Orcamento)#"Sudeste"
RN$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="RN"),]$Orcamento)#"Nordeste"
RO$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="RO"),]$Orcamento)#"Norte"
RR$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="RR"),]$Orcamento)#"Norte"
RS$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="RS"),]$Orcamento)#"Sul"
SC$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="SC"),]$Orcamento)#"Sul"
SE$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="SE"),]$Orcamento)#"Nordeste"
SP$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="SP"),]$Orcamento)#"Sudeste"
TO$region <- round(orcamento_por_estado[which(orcamento_por_estado$Estado=="TO"),]$Orcamento)#"Norte"
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot() +
theme_void()+
labs(title="Orçamentos concedidos por região", fill="Orçamento Total")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_gradient2()
maior_orcamento <- orcamento_por_estado[
which(orcamento_por_estado$Orcamento==max(orcamento_por_estado$Orcamento)),]
texto <- paste("O Estado",maior_orcamento$Estado, " possui o maior Orçamento")
dat <- dat[which(dat$postal==maior_orcamento$Estado),]
ggplot() +
theme_void()+
labs(title=texto, fill="Orçamento Total")+
geom_sf(data = dat, colour = "white",
aes(fill=region))+
scale_fill_gradient()
A quantidade em si não retrata com qualidade e precisão necessária para sabermos se há algum tipo de discrepância perante a distribuição das bolsas, dado que a população varia entre os estados, por isso precisamos tentar responder perguntas mais especfícicas, com o intuito de que seja possível visualizar mais próximo do bolsista. Devido a isso, vamos seguir visanado responder as seguintes perguntas: Qual média paga pelas Bolsas? Qual a mediana paga? Qual o valor mais comum (moda)?
################################################################################
# Qual Estado tem a maior media/mediana das bolsas pagas?
################################################################################
getmoda <- function(x) {
modal <- unique(x)
modal[which.max(tabulate(match(x, modal)))]
}
sigla_estados = c("AC","AL","AM","AP","BA","CE","DF","ES","GO","MA","MG","MS","MT","PA","PB","PE"
,"PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO")
mediana <- c()
media <- c()
moda<-c()
bolsas <- c()
for(sigla in sigla_estados){
relatorio_do_estados <- relatorio_2023[which(relatorio_2023$SIGLA_UF_DESTINO==sigla),]
bolsas <- c()
for(x in 1:nrow(relatorio_do_estados)){
bolsa_da_vez <- c()
# Aqui tivemos que aplicar uma normalização dos dados para que fosse
# possível utilizar o numeric no R, e assim pudessemos manipular os valores
bolsa_da_vez<-c(as.numeric(gsub(",", "",gsub("\\$|\\s", "",
x = relatorio_do_estados$VALOR_PAGO[x])))
)
#print(bolsa_da_vez)
bolsas <- c(bolsas,bolsa_da_vez)
#print(bolsas)
}
mediana<- c(mediana,median(bolsas))
media<-c(media,mean(bolsas))
moda<-c(moda,getmoda(bolsas))
}
#View(resposta)
media_por_estado <- data.frame("Estado" = sigla_estados,"Media" = media,
"Mediana" = mediana,"Moda" = moda)
media_por_estado%>%
kbl() %>%
scroll_box(width = "100%", height = "350px",fixed_thead = list(enabled = T,background="anycolor"))%>%
kable_material_dark()
| Estado | Media | Mediana | Moda |
|---|---|---|---|
| AC | 7195.691 | 2800 | 2800 |
| AL | 9125.126 | 3500 | 2800 |
| AM | 16611.402 | 4600 | 2800 |
| AP | 8790.616 | 3200 | 2800 |
| BA | 11552.551 | 4200 | 2800 |
| CE | 16779.378 | 5000 | 2800 |
| DF | 8137.213 | 3100 | 3100 |
| ES | 10704.443 | 4900 | 2800 |
| GO | 10531.842 | 3500 | 2800 |
| MA | 9132.064 | 2800 | 2800 |
| MG | 16156.126 | 5300 | 2800 |
| MS | 9809.244 | 2830 | 2800 |
| MT | 8122.953 | 2800 | 2800 |
| PA | 12766.175 | 4200 | 2800 |
| PB | 10469.215 | 3875 | 2800 |
| PE | 17995.535 | 4600 | 2800 |
| PI | 12387.549 | 3900 | 2800 |
| PR | 14828.669 | 4600 | 2800 |
| RJ | 10130.089 | 2800 | 700 |
| RN | 11889.221 | 3500 | 2800 |
| RO | 7746.718 | 2800 | 2800 |
| RR | 7956.019 | 2800 | 2800 |
| RS | 16257.161 | 5300 | 2800 |
| SC | 17905.277 | 5300 | 2800 |
| SE | 9489.432 | 2800 | 2800 |
| SP | 17892.716 | 5300 | 2800 |
| TO | 8276.033 | 2800 | 2800 |
A tabela acima retrata um conjunto de métricas retiradas do relatório, para que possamos entender melhor e respontas as perguntas sugeridas acima, os detalhes foram comentados no código. Como a tabela contém os dados brutos coletados sobre a media, a mediana e a moda, abaixo iremos detalhar mais e assim visualizar cada cenário de forma particular.
AC$region <- media_por_estado[media_por_estado$Estado == "AC",]$Media
AL$region <- media_por_estado[media_por_estado$Estado == "AL",]$Media
AM$region <- media_por_estado[media_por_estado$Estado == "AM",]$Media
AP$region <- media_por_estado[media_por_estado$Estado == "AP",]$Media
BA$region <- media_por_estado[media_por_estado$Estado == "BA",]$Media
CE$region <- media_por_estado[media_por_estado$Estado == "CE",]$Media
DF$region <- media_por_estado[media_por_estado$Estado == "DF",]$Media
ES$region <- media_por_estado[media_por_estado$Estado == "ES",]$Media
GO$region <- media_por_estado[media_por_estado$Estado == "GO",]$Media
MA$region <- media_por_estado[media_por_estado$Estado == "MA",]$Media
MG$region <- media_por_estado[media_por_estado$Estado == "MG",]$Media
MS$region <- media_por_estado[media_por_estado$Estado == "MS",]$Media
MT$region <- media_por_estado[media_por_estado$Estado == "MT",]$Media
PA$region <- media_por_estado[media_por_estado$Estado == "PA",]$Media
PB$region <- media_por_estado[media_por_estado$Estado == "PB",]$Media
PE$region <- media_por_estado[media_por_estado$Estado == "PE",]$Media
PI$region <- media_por_estado[media_por_estado$Estado == "PI",]$Media
PR$region <- media_por_estado[media_por_estado$Estado == "PR",]$Media
RJ$region <- media_por_estado[media_por_estado$Estado == "RJ",]$Media
RN$region <- media_por_estado[media_por_estado$Estado == "RN",]$Media
RO$region <- media_por_estado[media_por_estado$Estado == "RO",]$Media
RR$region <- media_por_estado[media_por_estado$Estado == "RR",]$Media
RS$region <- media_por_estado[media_por_estado$Estado == "RS",]$Media
SC$region <- media_por_estado[media_por_estado$Estado == "SC",]$Media
SE$region <- media_por_estado[media_por_estado$Estado == "SE",]$Media
SP$region <- media_por_estado[media_por_estado$Estado == "SP",]$Media
TO$region <- media_por_estado[media_por_estado$Estado == "TO",]$Media
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot() +
theme_void()+
labs(title="Valores medios das bolsas por Estado", fill="Media das bolsas")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_gradient()
No cenário acima, a média trás uma perspectiva limitada dos dados o que a primeira vista pode enganar olhares desatentos, contudo, nesse contexto há grandes bolsas para fomentos de pesquisas e isso impulsiona a média para cima, o que não significa que a maioria dos pesquisadores recebam valores em torno de 15 mil reais. Visando solucionar vamos ver as próximas perspectivas, vamos plotar abaixo a mediana.
#Utilizamos os dados calculados na tabela
AC$region <- media_por_estado[media_por_estado$Estado == "AC",]$Mediana
AL$region <- media_por_estado[media_por_estado$Estado == "AL",]$Mediana
AM$region <- media_por_estado[media_por_estado$Estado == "AM",]$Mediana
AP$region <- media_por_estado[media_por_estado$Estado == "AP",]$Mediana
BA$region <- media_por_estado[media_por_estado$Estado == "BA",]$Mediana
CE$region <- media_por_estado[media_por_estado$Estado == "CE",]$Mediana
DF$region <- media_por_estado[media_por_estado$Estado == "DF",]$Mediana
ES$region <- media_por_estado[media_por_estado$Estado == "ES",]$Mediana
GO$region <- media_por_estado[media_por_estado$Estado == "GO",]$Mediana
MA$region <- media_por_estado[media_por_estado$Estado == "MA",]$Mediana
MG$region <- media_por_estado[media_por_estado$Estado == "MG",]$Mediana
MS$region <- media_por_estado[media_por_estado$Estado == "MS",]$Mediana
MT$region <- media_por_estado[media_por_estado$Estado == "MT",]$Mediana
PA$region <- media_por_estado[media_por_estado$Estado == "PA",]$Mediana
PB$region <- media_por_estado[media_por_estado$Estado == "PB",]$Mediana
PE$region <- media_por_estado[media_por_estado$Estado == "PE",]$Mediana
PI$region <- media_por_estado[media_por_estado$Estado == "PI",]$Mediana
PR$region <- media_por_estado[media_por_estado$Estado == "PR",]$Mediana
RJ$region <- media_por_estado[media_por_estado$Estado == "RJ",]$Mediana
RN$region <- media_por_estado[media_por_estado$Estado == "RN",]$Mediana
RO$region <- media_por_estado[media_por_estado$Estado == "RO",]$Mediana
RR$region <- media_por_estado[media_por_estado$Estado == "RR",]$Mediana
RS$region <- media_por_estado[media_por_estado$Estado == "RS",]$Mediana
SC$region <- media_por_estado[media_por_estado$Estado == "SC",]$Mediana
SE$region <- media_por_estado[media_por_estado$Estado == "SE",]$Mediana
SP$region <- media_por_estado[media_por_estado$Estado == "SP",]$Mediana
TO$region <- media_por_estado[media_por_estado$Estado == "TO",]$Mediana
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot() +
theme_void()+
labs(title="Medianas dos valores das bolsas por Estado", fill="Mediana das bolsas")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_gradient()
Essa nova visão dos valores das medianas nos fornece um escopo diferente, com valores muito menores quando comparados à média, os quais chegam no máximo a está por volta de cinco mil reais, contudo temos que ressaltar que diversos estados estão abaixo de três mil e quinhentos reais anuais. Além disso, alguns estados mudaram de classificação se deslocando para o conjunto com valores mais baixos, o que pode estar sinalizando uma possível concentração de bolsas com maiores valores em um conjunto restrito de estados, ou como também a existência de possíveis programas de fomento supervalorizados.
#Utilizamos os dados calculados na tabela
AC$region <- media_por_estado[media_por_estado$Estado == "AC",]$Moda
AL$region <- media_por_estado[media_por_estado$Estado == "AL",]$Moda
AM$region <- media_por_estado[media_por_estado$Estado == "AM",]$Moda
AP$region <- media_por_estado[media_por_estado$Estado == "AP",]$Moda
BA$region <- media_por_estado[media_por_estado$Estado == "BA",]$Moda
CE$region <- media_por_estado[media_por_estado$Estado == "CE",]$Moda
DF$region <- media_por_estado[media_por_estado$Estado == "DF",]$Moda
ES$region <- media_por_estado[media_por_estado$Estado == "ES",]$Moda
GO$region <- media_por_estado[media_por_estado$Estado == "GO",]$Moda
MA$region <- media_por_estado[media_por_estado$Estado == "MA",]$Moda
MG$region <- media_por_estado[media_por_estado$Estado == "MG",]$Moda
MS$region <- media_por_estado[media_por_estado$Estado == "MS",]$Moda
MT$region <- media_por_estado[media_por_estado$Estado == "MT",]$Moda
PA$region <- media_por_estado[media_por_estado$Estado == "PA",]$Moda
PB$region <- media_por_estado[media_por_estado$Estado == "PB",]$Moda
PE$region <- media_por_estado[media_por_estado$Estado == "PE",]$Moda
PI$region <- media_por_estado[media_por_estado$Estado == "PI",]$Moda
PR$region <- media_por_estado[media_por_estado$Estado == "PR",]$Moda
RJ$region <- media_por_estado[media_por_estado$Estado == "RJ",]$Moda
RN$region <- media_por_estado[media_por_estado$Estado == "RN",]$Moda
RO$region <- media_por_estado[media_por_estado$Estado == "RO",]$Moda
RR$region <- media_por_estado[media_por_estado$Estado == "RR",]$Moda
RS$region <- media_por_estado[media_por_estado$Estado == "RS",]$Moda
SC$region <- media_por_estado[media_por_estado$Estado == "SC",]$Moda
SE$region <- media_por_estado[media_por_estado$Estado == "SE",]$Moda
SP$region <- media_por_estado[media_por_estado$Estado == "SP",]$Moda
TO$region <- media_por_estado[media_por_estado$Estado == "TO",]$Moda
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot() +
theme_void()+
labs(title="Valores das bolsas mais frequentes por Estado", fill="Valor mais frequente")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_gradient()
Quando tratamos mais especificamente da distribuição das bolsas entre as cidades de cada estado, podemos verificar a porporcionalidade das bolsas das capitais quando comparadas as demais cidades, o intuito é verificar onde há a maior concentração de numero de bolsa, e se as capitais são responsãveis pontos concentração dessas bolsas de fomento.
# Qual a cidade com maior quantidade de bolsas por estado?
sigla_estados = c("AC","AL","AM","AP","BA","CE","DF","ES","GO","MA","MG","MS",
"MT","PA","PB","PE","PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO")
resposta <- data.frame()
for(sigla in sigla_estados){
relatorio_do_estados <- relatorio_2023[which(relatorio_2023$SIGLA_UF_DESTINO==sigla),]
cidades_destino <- levels(factor(relatorio_do_estados$CIDADE_DESTINO))
#print(cidades_destino)
bolsas_por_cidade <- c()
for(cidade in cidades_destino){
#print(cidade)
relatorio_por_cidade <- relatorio_do_estados[which(relatorio_do_estados$CIDADE_DESTINO==cidade),]
bolsas_por_cidade <- c(bolsas_por_cidade,nrow(relatorio_por_cidade))
#print(sprintf("%s %d",sigla,numero_de_bolsas))
}
#print(bolsas_por_cidade)
#nome_Estado <- c(paste(replicate(as.numeric(length(cidades_destino)), sigla)))
data_cidades <- data.frame("Estado"= sigla,
"Cidade com mais bolsas" = cidades_destino[which(bolsas_por_cidade==max(bolsas_por_cidade))],
"Quantidade_de_Bolsas" = max(bolsas_por_cidade),
"Quantidade_totais_de_Bolsas" = sum(bolsas_por_cidade))
#View(data_cidades)
if(length(resposta)==0){
resposta <- data_cidades
}else{
resposta <- rbind(resposta,data_cidades)
}
}
resposta%>%
kbl() %>%
scroll_box(width = "100%", height = "350px",fixed_thead = list(enabled = T,background="anycolor"))%>%
kable_material_dark()
| Estado | Cidade.com.mais.bolsas | Quantidade_de_Bolsas | Quantidade_totais_de_Bolsas |
|---|---|---|---|
| AC | Rio Branco | 347 | 349 |
| AL | Maceio | 1552 | 1599 |
| AM | Manaus | 1820 | 1930 |
| AP | Macapa | 497 | 497 |
| BA | Salvador | 3918 | 5949 |
| CE | Fortaleza | 3796 | 4536 |
| DF | Brasilia | 16741 | 16741 |
| ES | Vitoria | 1664 | 1915 |
| GO | Goiania | 2801 | 3449 |
| MA | Sao Luis | 1396 | 1496 |
| MG | Belo Horizonte | 5769 | 14896 |
| MS | Campo Grande | 1627 | 2402 |
| MT | Cuiaba | 1559 | 2175 |
| PA | Belem | 3336 | 3982 |
| PB | Joao Pessoa | 2559 | 4468 |
| PE | Recife | 5884 | 6600 |
| PI | Teresina | 1320 | 1440 |
| PR | Curitiba | 4592 | 9253 |
| RJ | Rio de Janeiro | 27746 | 32456 |
| RN | Natal | 2685 | 3561 |
| RO | Porto Velho | 586 | 612 |
| RR | Boa Vista | 360 | 371 |
| RS | Porto Alegre | 6522 | 13698 |
| SC | Florianopolis | 4472 | 6139 |
| SE | Sao Cristovao | 1042 | 1782 |
| SP | Sao Paulo | 16194 | 31074 |
| TO | Palmas | 641 | 764 |
AC$region <- paste(resposta[resposta$Estado == "AC",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "AC",]$Quantidade_totais_de_Bolsas,sep="")
AL$region <- paste(resposta[resposta$Estado == "AL",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "AL",]$Quantidade_totais_de_Bolsas,sep="")
AM$region <- paste(resposta[resposta$Estado == "AM",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "AM",]$Quantidade_totais_de_Bolsas,sep="")
AP$region <- paste(resposta[resposta$Estado == "AP",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "AP",]$Quantidade_totais_de_Bolsas,sep="")
BA$region <- paste(resposta[resposta$Estado == "BA",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "BA",]$Quantidade_totais_de_Bolsas,sep="")
CE$region <- paste(resposta[resposta$Estado == "CE",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "CE",]$Quantidade_totais_de_Bolsas,sep="")
DF$region <- paste(resposta[resposta$Estado == "DF",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "DF",]$Quantidade_totais_de_Bolsas,sep="")
ES$region <- paste(resposta[resposta$Estado == "ES",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "ES",]$Quantidade_totais_de_Bolsas,sep="")
GO$region <- paste(resposta[resposta$Estado == "GO",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "GO",]$Quantidade_totais_de_Bolsas,sep="")
MA$region <- paste(resposta[resposta$Estado == "MA",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "MA",]$Quantidade_totais_de_Bolsas,sep="")
MG$region <- paste(resposta[resposta$Estado == "MG",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "MG",]$Quantidade_totais_de_Bolsas,sep="")
MS$region <- paste(resposta[resposta$Estado == "MS",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "MS",]$Quantidade_totais_de_Bolsas,sep="")
MT$region <- paste(resposta[resposta$Estado == "MT",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "MT",]$Quantidade_totais_de_Bolsas,sep="")
PA$region <- paste(resposta[resposta$Estado == "PA",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "PA",]$Quantidade_totais_de_Bolsas,sep="")
PB$region <- paste(resposta[resposta$Estado == "PB",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "PB",]$Quantidade_totais_de_Bolsas,sep="")
PE$region <- paste(resposta[resposta$Estado == "PE",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "PE",]$Quantidade_totais_de_Bolsas,sep="")
PI$region <- paste(resposta[resposta$Estado == "PI",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "PI",]$Quantidade_totais_de_Bolsas,sep="")
PR$region <- paste(resposta[resposta$Estado == "PR",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "PR",]$Quantidade_totais_de_Bolsas,sep="")
RJ$region <- paste(resposta[resposta$Estado == "RJ",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "RJ",]$Quantidade_totais_de_Bolsas,sep="")
RN$region <- paste(resposta[resposta$Estado == "RN",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "RN",]$Quantidade_totais_de_Bolsas,sep="")
RO$region <- paste(resposta[resposta$Estado == "RO",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "RO",]$Quantidade_totais_de_Bolsas,sep="")
RR$region <- paste(resposta[resposta$Estado == "RR",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "RR",]$Quantidade_totais_de_Bolsas,sep="")
RS$region <- paste(resposta[resposta$Estado == "RS",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "RS",]$Quantidade_totais_de_Bolsas,sep="")
SC$region <- paste(resposta[resposta$Estado == "SC",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "SC",]$Quantidade_totais_de_Bolsas,sep="")
SE$region <- paste(resposta[resposta$Estado == "SE",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "SE",]$Quantidade_totais_de_Bolsas,sep="")
SP$region <- paste(resposta[resposta$Estado == "SP",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "SP",]$Quantidade_totais_de_Bolsas,sep="")
TO$region <- paste(resposta[resposta$Estado == "TO",]$Quantidade_de_Bolsas,"/",
resposta[resposta$Estado == "TO",]$Quantidade_totais_de_Bolsas,sep="")
dat <- rbind(AC,AL,AM,AP,BA,CE,DF,ES,GO,MA,MG,MS,MT,PA,PB,PE,PI,PR,RJ,RN,RO,RR,RS,SC,SE,SP,TO)
ggplot() +
theme_void()+
labs(title="Distribuição de bolsas", fill="Bolsas nas Capitais / Quantidade Total")+
geom_sf(data = dat,colour = "white",aes(fill=region))+
scale_fill_discrete()
Segundo o DIESSE, podemos atualmente considerar o custo de vida no Brasil em média por voltar de R$ 6.641,00 por mês em janeiro de 2023, mesmo havendo variação de acordo com a região. Vale ressaltar que nesse calculo é incluido a alimentação, moradia, transporte, saúde e outras despesas básicas. Logo, ao analizar as diversas visualizações dos dados obtidos nesse projeto, é possível supor que os valores das bolsas pagas anualmente não atendem ao custo de vida minimo do estudante, pesquisador brasileiro. O Rio de Janeiro, é o estado que possui o valor de fomento mais precarizado, pois o valor pago mais comum é de apenas setecentos reais. Os demais estados da federação possuem esses valores mais aproximados, girando em volta de dois mil e oitocentos reais anuais, contudo, ao olharmos mais atentamente a bolsa seria em torno de duzentos e trinta reais mensais, evidenciando assim a defasagem do atual momento de fomento a pesquisa e desenvolvimento científico e o custo de vida dos pesquisadores e estudantes. É fundamental a criação de um projeto governamental para aumento do orçamento disponível e que órgãos responsáveis pela distribuição do fomento continuem cada dia mais a considar o custo real de vida real ao definir valores para as bolsas, garantindo assim o aumento do desenvolvimento da pesquisa no país, a diminuição da evação devido a jornadas duplas dos estudantes, entre pesquisa e trabalho, como também influenciará no bem-estar do pesquisador, e que possam evitar a distribuição de bolsas não seja massivamente concentrada nas capitais do país.