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