lucasjmatias / big-data-projeto-final-analise-exporatoria-dados Goto Github PK
View Code? Open in Web Editor NEWProjeto final para a matéria de análise exploratória de dados.
Projeto final para a matéria de análise exploratória de dados.
R version 3.5.0 (2018-04-23) -- "Joy in Playing"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
library("dplyr", lib.loc="~/R/win-library/3.5")
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
Warning message:
package ‘dplyr’ was built under R version 3.5.1
library("ggplot2", lib.loc="~/R/win-library/3.5")
Warning message:
package ‘ggplot2’ was built under R version 3.5.1
install.packages("rmarkdown")
Installing package into ‘C:/Users/cesar/Documents/R/win-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/rmarkdown_1.10.zip'
Content type 'application/zip' length 2868796 bytes (2.7 MB)
downloaded 2.7 MB
package ‘rmarkdown’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\cesar\AppData\Local\Temp\RtmpgXOYQs\downloaded_packages
library("dbplyr", lib.loc="~/R/win-library/3.5")
Attaching package: ‘dbplyr’
The following objects are masked from ‘package:dplyr’:
ident, sql
Warning message:
package ‘dbplyr’ was built under R version 3.5.1
library("dplyr", lib.loc="
/R/win-library/3.5")/R/win-library/3.5")
library("ggplot2", lib.loc="
library("rmarkdown", lib.loc="~/R/win-library/3.5")
Warning message:
package ‘rmarkdown’ was built under R version 3.5.1
output:
Error: attempt to use zero-length variable name
knitr::opts_chunk$set(echo = TRUE)
Error: attempt to use zero-length variable name
\newpage
Error: unexpected input in ""
\tableofcontents
Error: unexpected input in ""
\newpage
Error: unexpected input in ""Objetivo
O objetivo do nosso trabalho é identificar quais fatores que podem impactar no atraso e não pagamento das dívidas.
Error: unexpected symbol in "O objetivo"
Error: attempt to use zero-length variable name
#Carrega as bibliotecas
library(tidyverse)
Error: package or namespace load failed for ‘tidyverse’:
.onAttach falhou em attachNamespace() para 'tidyverse', detalhes:
chamada: loadNamespace(name)
erro: there is no package called ‘rstudioapi’
In addition: Warning message:
package ‘tidyverse’ was built under R version 3.5.1
library(lubridate)
Attaching package: ‘lubridate’
The following object is masked from ‘package:base’:
date
Warning message:
package ‘lubridate’ was built under R version 3.5.1
Error: attempt to use zero-length variable name
#Carga dos dados
Utilizamos a função read.csv2 que nos permite carregar os dados disponíveis em texto, no formato CSV.
Error: unexpected symbol in "Utilizamos a"
Error: attempt to use zero-length variable name
read.csv2("./dados/account.asc", stringsAsFactors = FALSE) -> account
read.csv2("./dados/client.asc", stringsAsFactors = FALSE) -> client
read.csv2("./dados/card.asc", stringsAsFactors = FALSE) -> card
read.csv2("./dados/disp.asc", stringsAsFactors = FALSE) -> disp
read.csv2("./dados/district.asc", stringsAsFactors = FALSE) -> district
read.csv2("./dados/trans.asc", stringsAsFactors = FALSE) -> trans
read.csv2("./dados/loan.asc", stringsAsFactors = FALSE) -> loan
read.csv2("./dados/order.asc", stringsAsFactors = FALSE) -> order
Error: attempt to use zero-length variable name
#Tratamento dos dados
##Cliente
O tratamento inicial da relação cliente envolve a separação do campo data de nascimento e gênero, que será tratado por M e F. E a transformação do campo birth_number em uma data válida para o R. Para isso transformamos o birth_number em um campo númerico, obtemos 4 dígitos da 3ª à 4ª posição, sendo este valor superior a 50 consideramos como feminino, pois o mês de nascimento das mulheres está com uma soma de 50 unidades. Subtraímos 5000 do mês das mulheres, pois como um único campo numérico, implica em diminuir 50 do campo mensal. Após isso concatenamos o número 19 ao começo do birth_number, no intuíto de deixar melhor preparado para a formatação da data, que ocorre logo em seguida. Logo após, calculamos a idade e selecionamos apenas os campos que nos serão úteis para o nosso estudo.
Error: unexpected symbol in "O tratamento"
samos a data de referência como 01/01/1998, devido a referência dos dados, para calcular a idade dos clientes.
Error: unexpected symbol in "samos a"
Error: attempt to use zero-length variable name
currentdate <- as.Date("1998/01/01", format="%Y/%m/%d")
client <- client %>%
Error: attempt to use zero-length variable name
##Conta
O tratamento da conta incluí renomear as frequências da conta e seleção dos campos importantes ao estudo.
Error: unexpected symbol in "O tratamento"
Error: attempt to use zero-length variable name
#Tradução
account$frequency <- gsub("POPLATEK MESICNE", "mensal", account$frequency)
account$frequency <- gsub("POPLATEK TYDNE", "semanal", account$frequency)
account$frequency <- gsub("POPLATEK PO OBRATU", "acadatransacao", account$frequency)
account$frequency <- as.factor(account$frequency)
account <- select(account, account_id, frequency)
Error: attempt to use zero-length variable name
##Distrito
O tratamento inicial da relação distrito começa na renomeação dos campos para melhor entendimento. Conversão dos campos de unemp_95 e unemp_96 para numéricos. Limpeza dos valores NA. Cálculo da taxa de desemprego entre os anos 95 e 96. E seleção dos valores que serão usados neste estudo.
Error: unexpected symbol in "O tratamento"
Error: attempt to use zero-length variable name
#Renomear campos para melhor entendimento
colnames(district)[1] <- 'district_id'
colnames(district)[2] <- 'district_name'
colnames(district)[11] <- 'avg_sal'
colnames(district)[12] <- 'unemp_95'
colnames(district)[13] <- 'unemp_96'#Converter campos para numérico
district$unemp_95 = as.numeric(district$unemp_95)
Warning message:
NAs introduced by coercion
district$unemp_96 = as.numeric(district$unemp_96)#Limpeza de NA
district[is.na(district$unemp_95),12] <- 1#Cálculo da taxa de desemprego e seleção de valores
district %>%
Error: attempt to use zero-length variable name
##Cartão
O tratamento inicial da relação cartão seleciona os campos que serão úteis para este estudo. Preparamos então o tipo do cartão como categórica.
Error: unexpected symbol in "O tratamento"
Error: attempt to use zero-length variable name
colnames(card)[3] <- 'card_type'
card <- card %>%
Error: attempt to use zero-length variable name
##Transação
Na relação de transação, identificamos alguns valores como "VYBER" que não estão descritos na documentação e não pareceu ser pertinente aos nossos estudos, por isso foi filtrado. O tipo de transação foi traduzido para facilitar o entendimento. E foi feito um agrupamento pela conta para facilitar o relacionamento de 1 para 1 com os valores que nos interessam.
Error: unexpected symbol in "Na relação"
Error: attempt to use zero-length variable name
unique(trans$type)
[1] "PRIJEM" "VYDAJ" "VYBER"trans$type <- gsub("PRIJEM", "credito", trans$type)
trans$type <- gsub("VYDAJ", "debito", trans$type)trans <- trans %>%
credito = sum(ifelse(type == "credito", amount, 0)),
debito = sum(ifelse(type == "debito", amount, 0)),
quant_trans = n()) %>%
Error: attempt to use zero-length variable name
##Disposição
A relação de disposição é útil para auxiliar nos relacionamentos. Como nosso estudo centraliza no pagamento ou não de dívidas, sendo que somente os donos da conta conseguem pegar empréstimos, filtramos as disposições para os donos das contas que serão o alvo do estudo.
Error: unexpected symbol in "A relação"
Error: attempt to use zero-length variable name
unique(disp$type)
[1] "OWNER" "DISPONENT"
disp <- disp %>%
Error: attempt to use zero-length variable name
##Empréstimo
No preparo da relação de empréstimo, traduzimos os status para os significados reais, também preparamos a taxa de pagamento e selecionamos os campos úteis ao estudo.
Error: unexpected symbol in "No preparo"
Error: attempt to use zero-length variable name
unique(loan$status)
[1] "B" "A" "C" "D"
loan$status <- gsub("A", "finalizado", loan$status)
loan$status <- gsub("B", "finalizado nao pago", loan$status)
loan$status <- gsub("C", "vigente", loan$status)
loan$status <- gsub("D", "em debito", loan$status)
loan$status <- as.factor(loan$status)
loan$payments = as.numeric(loan$payments)
loan$amount = as.numeric(loan$amount)loan <- loan %>%
colnames(loan)[3] <- 'loan_amount'
colnames(loan)[4] <- 'loan_duration'
colnames(loan)[5] <- 'loan_status'
colnames(loan)[6] <- 'loan_payment_rate'
Error: attempt to use zero-length variable name
##Ordem de Pagamento
No preparo da ordem de pagamento, o texto do tipo de ordem é traduzido, ignoramos os que não possuem nenhum tipo especificado e selecionamos os dados importantes a este estudo através do agrupamento pela conta.
Error: unexpected symbol in "No preparo"
Error: attempt to use zero-length variable name
unique(order$k_symbol)
[1] "SIPO" "UVER" " " "POJISTNE" "LEASING"
order$k_symbol = gsub("POJISTNE", "seguro", order$k_symbol)
order$k_symbol = gsub("SIPO", "domestico", order$k_symbol)
order$k_symbol = gsub("LEASING", "leasing", order$k_symbol)
order$k_symbol = gsub("UVER", "divida", order$k_symbol)
order$amount = as.numeric(order$amount)order <- order %>%
total_ordem = sum(amount),
quant_ordem = n(),
ja_pagou_seguro = any(k_symbol == "seguro"),
media_transf = sum(amount) / n()
Error: attempt to use zero-length variable name
#União dos dados
Error: attempt to use zero-length variable name
dados <- client %>%
Error: attempt to use zero-length variable name
Muito bom
account:
client:
order:
transaction:
Loan:
Credit card:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.