Importação de base de dados

Vamos importar a base de dados do INEP http://inep.gov.br/web/guest/microdados usando o pacote readr

Nessa aula vamos usar o Censo da Educação Superior no ano de 2016

library(readr)
# Base2 <- read_delim("DM_DOCENTE.CSV", 
#     "|", escape_double = FALSE, col_types = cols(CO_DOCENTE_IES = col_character()), 
#     locale = locale(encoding = "ISO-8859-1"), 
#     trim_ws = TRUE)
# library(readr)
# BancoDados <- 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)

Abrindo os dados que salvamos no tipo rds, usando o comando readRDS

Base <- readRDS("Aula5/Base2.rds")

library(tidyverse)
## ── Attaching packages ──────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 2.2.1     ✔ purrr   0.2.4
## ✔ tibble  1.3.4     ✔ dplyr   0.7.4
## ✔ tidyr   0.7.2     ✔ stringr 1.3.0
## ✔ ggplot2 2.2.1     ✔ forcats 0.2.0
## ── Conflicts ─────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
  library(kableExtra)
  library(knitr)
  library(DT)
  
  Base %>% 
    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)) %>%  kable()
UF Categoria n
26 Pública Federal 4566
26 Privada com fins lucrativos 3357
26 Privada sem fins lucrativos 3116
26 Pública Estadual 1192
26 Pública Municipal 758
26 Especial 134
  pernambuco <- Base %>% 
  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()
####str(Base2)    = exibir

Para selecionar as que queremos analizar utilizamos o comando select, para renomear-lás usamos transmute e quando queremos filtrar apenas um estado, que nesse caso é “Pernambuco” vamos usar o comando filter.

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="Número de Instituicao por Categoria", subtitle="Estado de Pernambuco") +
  geom_label(aes(label=n))+ scale_fill_brewer(palette="PuRd")

Para fazer porcentagem:

pernambuco2<- Base %>% 
  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")

Fazendo o mesmo para o estado da Paraíba.

paraiba<- Base %>% 
  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="Número de Instituicao por Categoria",
       subtitle="Estado da Paraíba") +coord_flip() +
  geom_label(aes(label=paste(round(100*freq),"%",sep="")))+scale_fill_brewer(palette="Set2")

Juntando os dois estados, Pernambuco e Paraíba.

PE_PB<- Base %>% 
  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

Existem varios modelos para o gráfico, por exemplo:

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() 

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() 

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 ")