Para este trabalho escolhemos o banco de dados do Censo da Educação Superior do ano de 2016, a base foi retirada do site do INEP http://inep.gov.br/web/guest/microdados.

Para importar os dados usamos opacote readr

library(readr)
BaseDocentes <- read_delim("DM_DOCENTE.CSV", 
     "|", escape_double = FALSE, col_types = cols(CO_CATEGORIA_ADMINISTRATIVA = col_character(), 
         CO_COR_RACA_DOCENTE = col_character(), 
         CO_DOCENTE = col_character(), CO_DOCENTE_IES = col_character(), 
         CO_ESCOLARIDADE_DOCENTE = col_character(), 
         CO_IES = col_character(), CO_NACIONALIDADE_DOCENTE = col_character(), 
         CO_ORGANIZACAO_ACADEMICA = col_character(), 
         CO_PAIS_DOCENTE = col_character(), 
         CO_REGIME_TRABALHO = col_character(), 
         CO_SITUACAO_DOCENTE = col_character(), 
         CO_UF_NASCIMENTO = col_character()), 
     locale = locale(encoding = "ISO-8859-1"), 
     trim_ws = TRUE)

ApĂłs abrir o banco de dados, vamos salvar o no arquivo rds, onde usaremos o comando saveRDS e depois iremos renomear o mesmo.

saveRDS(BaseDocentes, "BancoDeDados.rds")

Base<-readRDS("BancoDeDados.rds")

De inicio iremos trabalhar com apenas 5% dos dados, entao vamos criar uma nova base.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
Base5perc <- Base %>% sample_frac(size = .05)

Agora iremos salva o banco de dados reduzido no arquivo rds e renomear.

saveRDS(Base5perc, "ArquivoBaseRed.rds")
BaseReduzida<-readRDS("ArquivoBaseRed.rds")
library(readr)
library(tidyverse)
## ── Attaching packages ──────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 2.2.1     ✔ purrr   0.2.4
## ✔ tibble  1.3.4     ✔ stringr 1.3.0
## ✔ tidyr   0.7.2     ✔ forcats 0.2.0
## ── Conflicts ─────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(kableExtra )
library(knitr)
library(DT)

Pernambuco<- BaseReduzida %>% 
  select(NO_IES, DS_CATEGORIA_ADMINISTRATIVA,CO_MUNICIPIO_NASCIMENTO ) %>%
  transmute( nome= NO_IES,
            categoria= DS_CATEGORIA_ADMINISTRATIVA,
            codigo = as.character(CO_MUNICIPIO_NASCIMENTO )) %>% 
  mutate(UF= str_sub( string=codigo,start=1,end=2  ) ) %>% 
  group_by(UF,categoria) %>% 
  count()  %>% 
  filter(UF=="26") %>% arrange(desc(n) )%>% ungroup() %>% 
  mutate(categoria=factor(categoria,levels=categoria))

Pernambuco %>% datatable()

Usamos o comando select para selecionar as categorias a serem analizadas, o comando transmutepara mudar o nome das categorias, o comando filter para filtrar apenas o estado de Pernambuco.

Pernambuco %>% 
ggplot(aes(x=categoria,y=n, fill= categoria))+
geom_bar(stat = "identity")

Pernambuco %>% 
  ggplot(aes(x=reorder(categoria,n),y=n, fill= categoria))+
  geom_bar(stat = "identity")+ guides(fill="none")+ coord_flip()+
  labs(x="categoria",y="total", title="numero de instituicao por categoria", subtitle="estado de pernambuco") +
  geom_label(aes(label=n))+ scale_fill_brewer(palette="RdPu",direction=-1)

Para fazer porcentagem

Pernambuco2<- BaseReduzida %>% 
  select(NO_IES, DS_CATEGORIA_ADMINISTRATIVA,CO_MUNICIPIO_NASCIMENTO ) %>%
  transmute( nome= NO_IES,
            categoria= DS_CATEGORIA_ADMINISTRATIVA,
            codigo = as.character(CO_MUNICIPIO_NASCIMENTO )) %>% 
  mutate(UF= str_sub( string=codigo,start=1,end=2  ) ) %>% 
  group_by(UF,categoria) %>% 
  summarise(n=n()) %>%mutate(freq=n/sum(n)) %>%   
  
  filter(UF=="26") %>% arrange(desc(n))

Pernambuco2 %>% datatable()
Pernambuco2 %>% 
  ggplot(aes(x=reorder(categoria,n),y=n, fill= categoria))+
  geom_bar(stat = "identity")+ guides(fill="none")+ coord_flip()+
  labs(x="categoria",y="total", title="numero de instituicao por categoria",
       subtitle="estado de pernambuco") +coord_flip() +
  geom_label(aes(label=paste(round(100*freq),"%",sep="")))+scale_fill_brewer(palette="Set2")

Fazer o da paraiba

Paraiba<- BaseReduzida %>% 
  select(NO_IES, DS_CATEGORIA_ADMINISTRATIVA,CO_MUNICIPIO_NASCIMENTO ) %>%
  transmute( nome= NO_IES,
            categoria= DS_CATEGORIA_ADMINISTRATIVA,
            codigo = as.character(CO_MUNICIPIO_NASCIMENTO )) %>% 
  mutate(UF= str_sub( string=codigo,start=1,end=2  ) ) %>% 
  group_by(UF,categoria) %>% 
  summarise(n=n()) %>%mutate(freq=n/sum(n)) %>%   
  
  filter(UF=="25") %>% arrange(desc(n))

Paraiba %>% datatable()
Paraiba %>% 
  ggplot(aes(x=reorder(categoria,n),y=n, fill= categoria))+
  geom_bar(stat = "identity")+ guides(fill="none")+ coord_flip()+
  labs(x="categoria",y="total", title="numero de instituicao por categoria",
       subtitle="estado da paraiba") +coord_flip() +
  geom_label(aes(label=paste(round(100*freq),"%",sep="")))+scale_fill_brewer(palette="Set2")

Juntando paraiba com pernambuco

PE_PB<- BaseReduzida %>% 
  select(NO_IES, DS_CATEGORIA_ADMINISTRATIVA,CO_MUNICIPIO_NASCIMENTO ) %>%
  transmute( nome= NO_IES,
            categoria= DS_CATEGORIA_ADMINISTRATIVA,
            codigo = as.character(CO_MUNICIPIO_NASCIMENTO )) %>% 
  mutate(UF= str_sub( string=codigo,start=1,end=2  ) ) %>% 
  group_by(UF,categoria) %>% 
  summarise(n=n()) %>%mutate(freq=n/sum(n)) %>%   
  
  filter(UF=="26" | UF== "25") %>% arrange(desc(n))

PE_PB %>% datatable()
##PARA SOMAR O VALOR DA FREQUENCIA
sum(PE_PB$freq)
## [1] 2

Varias possibilidades para o grafico

juntos na mesma linha

O codigo: mutate(estado=if_else(UF==“26”, “Pernambuco”, “Paraiba”)), Ă© para mudar os nomes dos estados

PE_PB %>% mutate(estado=if_else(UF=="26", "Pernambuco", "Paraiba")) %>%  ggplot(aes(x=reorder(categoria,n), y=n, fill= UF))+
  geom_bar(stat = "identity")+ coord_flip() 

linhas diferente

PE_PB %>% mutate(estado=if_else(UF=="26", "Pernambuco", "Paraiba")) %>%  ggplot(aes(x=reorder(categoria,n), y=n, fill= UF))+
  geom_bar(stat = "identity",position = "dodge" )+ coord_flip() 

separados

PE_PB %>% mutate(estado=if_else(UF=="26", "Pernambuco", "Paraiba")) %>%   ggplot(aes(x=reorder(categoria,n), y=n, fill= categoria))+
  geom_bar(stat = "identity",position = "dodge")+ coord_flip() + facet_wrap(~estado,scales = "free")+guides(fill="none")+

labs(x="categoria",y="total", title="numero de instituicao por categoria",
       subtitle="estado ")