<jupyter_start><jupyter_text>ObjetivoO objetivo deste notebook é avaliar os dados disponíveis no [Portal de Dados Abertos da UFRN](http://dados.ufrn.br/) no grupo `Componentes Curriculares`.Assim sendo, a avaliação é apenas quanti-qualitativa para descobrirmos o que podemos extrair a favor do nosso projeto.  1. Bibliotecas<jupyter_code>library("dplyr")
library(ggplot2)
library(gridExtra)<jupyter_output>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


Attaching package: ‘gridExtra’

The following object is masked from ‘package:dplyr’:

    combine<jupyter_text>2. Dados<jupyter_code>path_data <- "/Users/rsilva/Documents/UFRN/Hackathon/UFRN\ Dados/curriculo"
path_save <- "/Users/rsilva/Documents/UFRN/Hackathon/Resultados"
setwd(path_data)

# abrindo o documento de componente curricular
componentes <- read.csv2("componentes-curriculares-presenciais.csv", header=T)

# abrindo o documento de curriculo
curriculo <- read.csv2("curriculo-componente-graduacao.csv",header=T)
reduced_curriculo <- subset(curriculo, select=c("id_curriculo_componente", 
                                                "id_componente_curricular",
                                                "semestre_oferta",
                                                "tipo_vinculo_componente",
                                                "nivel_ensino"))

reduced_componente <- subset(componentes, select=c("id_componente",
                                                   "nome",
                                                   "unidade_responsavel",
                                                   "ch_total"))

names(reduced_curriculo)[2] <- "id_componente"
nrow(reduced_curriculo)
nrow(reduced_componente)
reduced <- merge(reduced_curriculo, reduced_componente, by="id_componente", all.x = TRUE)
str(reduced)
names(reduced)[2] <- "id_curriculo"
summary(reduced)
# calcular as porcentagens de valores nulos conforme a sumarização acima e o total de entradas
total <- nrow(reduced)
nulo_nome <- sum(is.na(reduced$nome))
nulo_unidade <- sum(is.na(reduced$unidade_responsavel))
nulo_ch <- sum(is.na(reduced$ch_total))
sprintf("%.2f%% para Nome", (nulo_nome/total)*100)
sprintf("%.2f%% para Unidade Responsável", (nulo_unidade/total)*100)
sprintf("%.2f%% para Ch Total", (nulo_ch/total)*100)
# removendo todos os valores NAs do dataset

reduced <- reduced[complete.cases(reduced), ]
reduced <- droplevels(reduced)<jupyter_output><empty_output><jupyter_text>3. Exportando os Resultados<jupyter_code># salvando o dataset em CSV para facilitar trabalhos futuros
setwd(path_save)

write.csv(reduced, "componentes.csv", row.names=FALSE)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.105, 'fraction_numerical': 0.007142857142857143, 'mean_word_length': 3.3561430793157077, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '477426', 'license': 'MIT', 'n_tokens_mistral': 945, 'n_tokens_neox': 881, 'n_words': 187, 'path': 'Componentes.ipynb', 'repo_name': 'rdsilva/HackathonUFRN2017', 'size': '2800'}