#DIRECIONAMENTO DAS PASTAS
setwd("D:\\USUARIO\\Area de Trabalho\\CIENCIA DE DADOS")
getwd()
## [1] "D:/USUARIO/Area de Trabalho/CIENCIA DE DADOS"
#IMPORTANDO O DATASET
enade2017 = read_csv2("MICRODADOS_ENADE_2017.txt")
## Using ',' as decimal and '.' as grouping mark. Use read_delim() for more control.
## Parsed with column specification:
## cols(
## .default = col_double(),
## TP_SEXO = col_character(),
## DS_VT_GAB_OFG_ORIG = col_character(),
## DS_VT_GAB_OFG_FIN = col_character(),
## DS_VT_GAB_OCE_ORIG = col_character(),
## DS_VT_GAB_OCE_FIN = col_character(),
## DS_VT_ESC_OFG = col_character(),
## DS_VT_ACE_OFG = col_character(),
## DS_VT_ESC_OCE = col_character(),
## DS_VT_ACE_OCE = col_character(),
## CO_RS_I1 = col_character(),
## CO_RS_I2 = col_character(),
## CO_RS_I3 = col_character(),
## CO_RS_I4 = col_character(),
## CO_RS_I5 = col_character(),
## CO_RS_I6 = col_character(),
## CO_RS_I7 = col_character(),
## CO_RS_I8 = col_character(),
## CO_RS_I9 = col_character(),
## QE_I01 = col_character(),
## QE_I02 = col_character()
## # ... with 36 more columns
## )
## See spec(...) for full column specifications.
#SELECIONANDO AS VARIAVEIS
microdados_enade_filtrados= enade2017 %>% dplyr::select(NT_OBJ_FG,
CO_GRUPO,
CO_REGIAO_CURSO,
QE_I02,
CO_TURNO_GRADUACAO
)
#CLASSIFICACAO DAS VARIAVEIS
class(microdados_enade_filtrados$NT_OBJ_FG)
## [1] "numeric"
class(microdados_enade_filtrados$CO_GRUPO)
## [1] "numeric"
class(microdados_enade_filtrados$CO_REGIAO_CURSO)
## [1] "numeric"
class(microdados_enade_filtrados$QE_I02)
## [1] "character"
class(microdados_enade_filtrados$CO_TURNO_GRADUACAO)
## [1] "numeric"
#CURSO SELECIONADO FOI O DE FILOSOFIA #3102
microdados_filosofia= microdados_enade_filtrados %>% filter(CO_GRUPO==3201)
microdados_filosofia = microdados_filosofia %>% mutate(REGIAO = case_when( CO_REGIAO_CURSO == 1 ~ "NORTE",
CO_REGIAO_CURSO == 2 ~ "NORDESTE",
CO_REGIAO_CURSO == 3 ~ "SUDESTE",
CO_REGIAO_CURSO == 4 ~ "SUL",
CO_REGIAO_CURSO == 5 ~ "CENTRO-OESTE"
))
#CO_GRUPO
microdados_filosofia = microdados_filosofia %>% mutate(CURSO = case_when( CO_GRUPO == 3201 ~"FILOSOFIA (BACHARELADO)"
))
#QE_I02
microdados_filosofia = microdados_filosofia %>% mutate(COR = case_when( QE_I02 == "A" ~ "BRANCA",
QE_I02 == "B" ~ "PRETA",
QE_I02 == "C" ~ "AMARELA",
QE_I02 == "D" ~ "PARDA",
QE_I02 == "E" ~ "INDIGENA",
QE_I02 == "F" ~ "NAO QUERO DECLARA"
))
#CO_TURNO_GRADUACAO
microdados_filosofia = microdados_filosofia %>% mutate(TURNO = case_when( CO_TURNO_GRADUACAO == 1 ~ "MATUTINO",
CO_TURNO_GRADUACAO == 2 ~ "VESPERTINO",
CO_TURNO_GRADUACAO == 3 ~ "INTEGRAL",
CO_TURNO_GRADUACAO == 4 ~ "NOTURNO"
))
#FREQUENCIA E PROPORÇÃO
describe(microdados_filosofia$REGIAO)
## microdados_filosofia$REGIAO
## n missing distinct
## 1782 0 5
##
## lowest : CENTRO-OESTE NORDESTE NORTE SUDESTE SUL
## highest: CENTRO-OESTE NORDESTE NORTE SUDESTE SUL
##
## Value CENTRO-OESTE NORDESTE NORTE SUDESTE SUL
## Frequency 95 485 32 726 444
## Proportion 0.053 0.272 0.018 0.407 0.249
#MEDIA DA REGIAO
microdados_filosofia %>%
select(REGIAO,NT_OBJ_FG) %>%
group_by(REGIAO) %>%
summarise(media = mean(NT_OBJ_FG,na.rm = T))
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 5 x 2
## REGIAO media
## <chr> <dbl>
## 1 CENTRO-OESTE 57.7
## 2 NORDESTE 49.4
## 3 NORTE 35.4
## 4 SUDESTE 55.1
## 5 SUL 55.8
#REMOVENDO AS NA'S
microdados_filosofia_sem_NA=microdados_filosofia %>% na.omit()
resumo_nas=microdados_filosofia_sem_NA %>%
select(everything()) %>%
summarise_all(list(~sum(is.na(.))))
#CALCULANDO A QUANTIDADE DE LUNHAS ORIGINAL
dim(microdados_filosofia)[1]
## [1] 1782
#QUANTIDADE DE LINHAS QUE CONTINHAM NA REMOVIDAS
dim(microdados_filosofia)[1] - dim(microdados_filosofia_sem_NA)[1]
## [1] 613
#ANALISANDO O TAMANHO DO VETOR
quantidade_de_notas=length(microdados_filosofia_sem_NA$NT_OBJ_FG)
#VERIFICANDO A MEDIA
media=mean(microdados_filosofia_sem_NA$NT_OBJ_FG)
#ANALISANDO A MEDIANA
mediana=median(microdados_filosofia_sem_NA$NT_OBJ_FG)
#MODA
#CALCULANDO A FREQUENCIA
fs=table(microdados_filosofia_sem_NA$NT_OBJ_FG)
#CALCULANDO O MAXIMO DA FREQUENCIA
maximo=max(fs)
#NOMES DA FS
nomes=names(fs)
#COMPARAÇÃO LOGICA
moda_texto=nomes[fs==maximo]
#TRANSFORMANDO EM NUMERO
moda_numero=as.numeric(moda_texto)
moda=Mode(microdados_filosofia_sem_NA$NT_OBJ_FG)
consolidado_notas=data.frame("Quantidade_de_notas"=quantidade_de_notas,
"Media"=media,
"Mediana"=mediana,
"moda"=moda_numero)
#CALCULANDO A ASSIMETRIA
assimetria=skewness(microdados_filosofia_sem_NA$NT_OBJ_FG)
#CURTOSE
curtose=kurtosis(microdados_filosofia_sem_NA$NT_OBJ_FG)
consolidado_notas_completo=cbind(consolidado_notas,assimetria, curtose)
#RESUMO FINAL
microdados_filosofia_sem_NA %>%
select(NT_OBJ_FG) %>%
summarise( quantidade=n(),
media = mean(NT_OBJ_FG),
mediana = median(NT_OBJ_FG),
moda=Mode(NT_OBJ_FG),
cv=sd(NT_OBJ_FG)/media*100,
assimetria=skewness(NT_OBJ_FG),
curtose=kurtosis(NT_OBJ_FG)
) %>%
arrange(desc(mediana))
## # A tibble: 1 x 7
## quantidade media mediana moda cv assimetria curtose
## <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1169 53.4 50 50 39.7 -0.301 -0.207
describe(microdados_filosofia$COR)
## microdados_filosofia$COR
## n missing distinct
## 1281 501 6
##
## lowest : AMARELA BRANCA INDIGENA NAO QUERO DECLARA PARDA
## highest: BRANCA INDIGENA NAO QUERO DECLARA PARDA PRETA
##
## Value AMARELA BRANCA INDIGENA
## Frequency 21 669 9
## Proportion 0.016 0.522 0.007
##
## Value NAO QUERO DECLARA PARDA PRETA
## Frequency 111 346 125
## Proportion 0.087 0.270 0.098
dados=microdados_filosofia_sem_NA
#GRAFICO DE NOTAS POR COR
notaporcor = ggplot(dados, aes(x=COR,y=NT_OBJ_FG,fill=COR)) +
geom_boxplot() +
ggtitle("GRAFICO BOXPLOT DE NOTA POR COR")+
ylab("NOTAS")+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))
ggplotly(notaporcor)
#GRAFICO BOXPLOT DE NOTA POR TURNO
notaporturno = ggplot(dados, aes(x=TURNO,y=NT_OBJ_FG,fill=TURNO)) +
geom_boxplot() +
ggtitle("GRAFICO BOXPLOT DE NOTA POR TURNO")+
ylab("NOTAS")
ggplotly(notaporturno)
#GRAFICO BOXPLOT DE NOTAS POR REGIAO
regiaoporcor = ggplot(dados, aes(x=COR,y=NT_OBJ_FG,fill=COR)) +
geom_boxplot() +
ggtitle("GRAFICO BOXPLOT DE NOTAS POR REGIAO")+
ylab("NOTAS") +
facet_grid(~REGIAO)+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))
ggplotly(regiaoporcor)