Last active
November 11, 2017 17:14
-
-
Save victorkurauchi/02e11bc35d3930bffd062bae6d907755 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Prova Linguagem Estatistica | |
# Rodrigo Luis RM32065 | |
# Victor Moriyuki Kurauchi RM37028 | |
# 1) Tire uma tabela de frequência usando a função table na variável Sexo. Quantos | |
# homens e quantas mulheres têm no arquivo? | |
attach(Cadastral) | |
table(Cadastral$Sexo) | |
Feminino Masculino | |
432 514 | |
# 2) Ordenar a variável ID. | |
Cadastral[order(Cadastral$ID),] | |
# 3) Remova os ID duplicados. Coloque esse arquivo dentro de um objeto chamado A. | |
A <- unique(Cadastral) | |
# 4) Já no objeto A. Tire uma tabela de frequência usando a função table na variável Sexo. | |
# Quantos homens e quantas mulheres têm no arquivo? | |
table(A$Sexo) | |
Feminino Masculino | |
216 257 | |
# 5) Crie uma variável data atual e acrescenta essa variável ao objeto/ arquivo A. | |
dataAtual <- Sys.Date() | |
dataAtual | |
A$dataAtual <- c(dataAtual) | |
View(A) | |
# 6) Verifique se a variável salario é numérica? | |
is.numeric(A$salario) | |
TRUE | |
# 7) Mostre o mínimo e o máximo da variável salario. | |
min(A$salario) | |
[1] 1575 | |
max(A$salario) | |
[1] 13500 | |
attach(A) | |
# 8) Crie uma variável faixa de salario com as seguintes quebras: 1574, 3000, 5000, 7000, 13500 | |
# com as classes fechadas nas esquerda. Right = T. E coloque essa variável no | |
# arquivo. | |
sal <- round(salario, digits = 0) | |
sal <- as.numeric(sal) | |
sal | |
faixaSalario <- cut(sal, breaks= c(1574, 3000, 5000, 7000, 13500), right = T, dig.lab = 3) | |
faixaSalario | |
A$faixaSalario <- c(faixaSalario) | |
# 9) Crie um visualizador/ matriz usando a função View(). | |
View(A) | |
# 10) Atribua o arquivo Transacional ao objeto B. E crie um visualizador/ matriz usando a | |
# função View(). | |
attach(Transacional) | |
B <- Transacional | |
View(B) | |
# 11) Crie um objeto chamado consolidado e faça uma união dos arquivos A e B através do | |
# Left join. (Função all.x = TRUE). | |
consolidado <- merge(A, B, all.x = TRUE) | |
View(consolidado) | |
# 12) Crie uma variável comprometimento de renda usando as variáveis ValorEmprestimo e | |
# Salario. Para isso utilize a expressão. (ValorEmprestimo / salario).Quantas variáveis | |
# ficaram no arquivo? | |
consolidado$comprometimentoDeRenda <- c(consolidado$ValorEmprestimo / consolidado$salario) | |
View(consolidado) | |
dim(consolidado) | |
[1] 473 17 | |
# 13) Tire uma frequência separadamente das variáveis Sexo e default. Para isso utilize a | |
# função Table. Quantos Homens , Mulheres, Adimplente e Inadimplente possui. Os valores | |
# precisam ser mostrados separadamente. | |
table(consolidado$Sexo) | |
Feminino Masculino | |
216 257 | |
table(consolidado$default) | |
Adimplente Inadimplente | |
130 343 | |
# 14) Faça uma estatística Bivariada utilizando a função CrossTable ente Sexo e default. | |
# Quem tem o maior percentual de inadimplência Homens ou Mulheres. E qual é esse | |
# valor? Dica olhar para o percentual coluna. | |
library(gmodels) | |
CrossTable( | |
consolidado$Sexo, | |
consolidado$default, | |
digits=3, | |
expected = FALSE, | |
prop.r = TRUE, | |
prop.c = TRUE, | |
prop.t = TRUE, | |
asresid = FALSE | |
) | |
Homens => 51.3 % | |
Total Observations in Table: 473 | |
| consolidado$default | |
consolidado$Sexo | Adimplente | Inadimplente | Row Total | | |
-----------------|--------------|--------------|--------------| | |
Feminino | 49 | 167 | 216 | | |
| 1.810 | 0.686 | | | |
| 0.227 | 0.773 | 0.457 | | |
| 0.377 | 0.487 | | | |
| 0.104 | 0.353 | | | |
-----------------|--------------|--------------|--------------| | |
Masculino | 81 | 176 | 257 | | |
| 1.521 | 0.577 | | | |
| 0.315 | 0.685 | 0.543 | | |
| 0.623 | 0.513 | | | |
| 0.171 | 0.372 | | | |
-----------------|--------------|--------------|--------------| | |
Column Total | 130 | 343 | 473 | | |
| 0.275 | 0.725 | | | |
-----------------|--------------|--------------|--------------| | |
# 15) Faça os gráficos de histograma e Boxplot da variável comprometimento de renda. | |
# Essas variáveis se parece com uma distribuição normal? | |
hist(consolidado$comprometimentoDeRenda) | |
boxplot( | |
consolidado$ValorEmprestimo, | |
consolidado$salario, | |
main="comprometimento de renda", | |
xlab="valorEmprestimo", | |
ylab="salario", | |
col=c('blue', 'red') | |
) | |
Sim | |
# 16) Crie um novo objeto chamado comprometimento de renda1 e substitui todos os | |
# valores maiores que 0.5 por 0.5 da variável comprometimento de renda. Para tal operação | |
# utilize a função replace. Verifique através do mínimo e máximo se a variável | |
# comprometimento de renda1 está dentro dos limites, ou seja, se tem valores inferiores ou | |
# igual a 0.5. Coloque esse resultado no arquivo consolidado. | |
comprometimentoDeRenda1 <- replace(comprometimentoDeRenda, comprometimentoDeRenda > 0.5, 0.5) | |
View(consolidado) | |
min(consolidado$comprometimentoDeRenda1) | |
[1] 0.05406897 | |
max(consolidado$comprometimentoDeRenda1) | |
[1] 0.5 | |
nrow(subset(consolidado, comprometimentoDeRenda1 <= 0.5)) | |
nrow(subset(consolidado, comprometimentoDeRenda1 > 0.5)) | |
0 | |
consolidado$comprometimentoDeRenda1 <- c(comprometimentoDeRenda1) | |
# 17) Faça novamente os gráficos histograma e Boxplot da variável comprometimento de | |
# renda1 e verifique se ainda possui outliers? | |
hist(consolidado$comprometimentoDeRenda1) | |
boxplot( | |
consolidado$comprometimentoDeRenda1, | |
main="comprometimento de renda1 ", | |
xlab="comprometimentoo", | |
col=c('blue') | |
) | |
R: Não possui mais outliers | |
# 18) Faça o gráfico qq-normal da variável comprometimento de renda1 e verifica se ela | |
# possui tendência? | |
qqnorm(consolidado$comprometimentoDeRenda1) | |
Não tem nenhuma tendência | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment