Banco de dados passado pelo CNJ no dia 05/09/2013.
require(ggplot2) require(stringr) require(plyr) require(reshape2) require(knitrBootstrap) require(grid) # pra usar bootstrap options(rstudio.markdownToHTML = function(inputFile, outputFile) { require(knitrBootstrap) knit_bootstrap_md(input=inputFile, output=outputFile, boot_style=TRUE, code_style=TRUE) } )
theme.st <- theme_bw() + theme(axis.title.x=element_text(size=16), axis.title.y=element_text(size=16), axis.text.x=element_text(size=16, hjust=0.5), axis.text.y=element_text(size=16), legend.title=element_text(size=16), legend.text=element_text(size=16), strip.text.x = element_text(angle=0, size=16), strip.text.y = element_text(angle=-90, size=16)) theme.boxplot.uni <- theme(axis.title.y=element_blank(), axis.title.x=element_text(size=16), axis.text.y=element_blank(), axis.text.x=element_text(size=16), axis.ticks.y=element_blank(), legend.title=element_text(size=16), legend.text=element_text(size=16)) theme.boxplot.bi <- theme(axis.title.x=element_blank(), axis.title.y=element_text(size=16), axis.text.x=element_text(size=12, angle=90, hjust=1, vjust=0.5), axis.text.y=element_text(size=16), axis.ticks.x=element_blank(), legend.title=element_text(size=16), legend.text=element_text(size=16)) theme_barra <- theme(axis.title.x=element_text(size=16), axis.title.y=element_text(size=16), axis.text.x=element_blank(), axis.text.y=element_text(size=12), axis.ticks=element_blank(), legend.title=element_text(size=16), legend.text=element_text(size=14), legend.key.size = unit(1.5, "cm"), strip.text.x = element_text(size=15))
# Carregando e limpando CSV cna_des <- read.csv('bd/cna_crianca_des.csv', sep=";", as.is=TRUE) # Aruma o bd -----------------------------------------# # sexo_crianca # transforma informações em branco em NA cna_des$sexo_crianca <- factor(cna_des$sexo_crianca, levels=c("Feminino", "Masculino", "Indiferente")) # estados_pretendente_aceira # exclui essa coluna. Ela é a mesma coisa que a variável "estados_pretendente_aceita". cna_des <- cna_des[,!names(cna_des)%in%"estados_pretendente_aceira"] # data_nascimento # cria a versão as.Date "data_nascimento_date" cna_des$data_nascimento_date <- as.Date(cna_des$data_nascimento, format="%d/%m/%Y") # cna_des$profissao # coloca a opção "Outros" como o último level do fator cna_des$profissao <- factor(cna_des$profissao, levels=c(unique(cna_des$profissao)[!unique(cna_des$profissao)%in%"Outros"], "Outros")) # aceita_adotar_irmaos # coloca NA quando infor for vazia cna_des$aceita_adotar_irmaos <- factor(cna_des$aceita_adotar_irmaos, levels=c("Não","Sim")) # aceita_adotar_gemeos # coloca NA quando infor for vazia cna_des$aceita_adotar_gemeos <- factor(cna_des$aceita_adotar_gemeos, levels=c("Não","Sim")) # aceita_adotar_de_outro_estado # coloca NA quando infor for vazia cna_des$aceita_adotar_de_outro_estado <- factor(cna_des$aceita_adotar_de_outro_estado, levels=c("Não","Sim")) # possui_outro_processo # coloca NA quando infor for vazia cna_des$possui_outro_processo <- factor(cna_des$possui_outro_processo, levels=c("Não","Sim")) #-----------------------------------------------------#
127 casos de idade mínima desejada maior que a idade máxima
table(cna_des$idade_minima > cna_des$idade_maxima) # View(cna_des[cna_des$idade_minima > cna_des$idade_maxima,])
Relação entre crianças desejadas e pretendentes é N:1. Ou seja, um pretendente pode descrever mais de um perfil de criança desejada.
dim(cna_des) length(unique(cna_des$Cod.Pretendente)) length(unique(cna_des$Cod.da.Criança.Desejada))
Algumas datas de nascimento dos pretendentes estavam mal formatadas. O formato certa era "%d/%m/%Y", mas algumas apresentavam o formato "%Y/%m/%d" com informações inconsistentes (por exemplo: 0980-01-12)
head(matrix(cna_des$data_nascimento[str_detect(cna_des$data_nascimento,"-")], ncol=6))
A variável "nacionalidade" está uma bagunça. Arrumar quando for realmente necessário.
Algumas inconsistências nas quantidades de filhos biológicos (idem para adotivos)
table(cna_des$biologicos_quantos, cna_des$possui_filhos_biologicos) table(cna_des$adotivos_quantos, cna_des$Possui.Filhos.Adotivos)
Sobre a quantidade de crianças que deseja adotar, achei engraçado ter zeros =P. Será q são pessoas "indiferentes"?
table(cna_des$qt_criancas_deseja_adotar)
Quando for necessário, criar 27 colunas de indicadores de estados que o pretendente aceita que a criança seja a partir da variável "estados_pretendente_aceita".
Tem variáveis de e uf's e variáveis de regiões, mas elas não possuem as mesmas respostas. Tem q ver as definições.
Idade máxima aceita
ggplot(cna_des[cna_des$idade_minima <= cna_des$idade_maxima,], aes(x=idade_maxima)) + geom_histogram(aes(y=..density..), color='black', fill='white', binwidth=1) + theme_bw() summary(cna_des$idade_maxima)
Sexo escolhido pelos pretendentes
var.categ.principal <- "sexo_crianca" título.var.categ.principal <- "sexo_crianca" tab <- table(cna_des[,var.categ.principal]) df <- as.data.frame(tab) df <- merge(df, as.data.frame(prop.table(tab)), by="Var1", suffixes=c("Abs","Rel")) df$Lab <- with(df, paste(round(100*FreqRel,0),"%",sep="")) df <- df[!is.nan(df$FreqRel),] df$Var1 <- factor(df$Var1) Tot <- sum(df$FreqAbs) ggplot(df, aes(x = Var1, fill = Var1)) + geom_bar(position = "dodge", aes(weights = FreqRel)) + ylim(c(0,1)) + geom_text(aes(y=FreqRel+.03, label=Lab), size = 5) + labs(fill=título.var.categ.principal, x="", y = "Proporção", title="") + geom_text(aes(y=1, x=rep(ifelse(df[df$Var1==levels(df$Var1)[2],"FreqRel"]>0.75,1,2),each=length(levels(df$Var1))), label=paste("n =",Tot))) + theme_bw() + theme_barra summary(cna_des$sexo_crianca)
Pessoas respondem "indiferente" para a própria cor. A grande maioria pode estar achando q essa pergunta é sobre a cor da crianca.
var.categ.principal <- "cor_indiferente" título.var.categ.principal <- "cor_indiferente" var.categ.secundaria <- "raca_cor" título.var.categ.secundaria <- "raca_cor" tab <- table(cna_des[,var.categ.secundaria], cna_des[,var.categ.principal]) df <- as.data.frame(tab) df$Tot <- rep(tapply(df$Freq, df$Var2, sum),each=length(levels(df$Var1))) df$Prop <- with(df, Freq/Tot) df$Lab <- with(df, paste(round(100*Prop,0),"%",sep="")) df <- df[!is.nan(df$Prop),] ggplot(df, aes(x = Var1, fill = Var1)) + geom_bar(position = "dodge", aes(weights = Prop)) + ylim(c(0,1)) + geom_text(aes(y=Prop+.03, label=Lab), size = 5) + labs(fill=título.var.categ.secundaria, title=título.var.categ.principal, x="", y = "Proporção", title="") + facet_grid(. ~ Var2 , scales = "free_x") + geom_text(aes(y=1, x=rep(ifelse(df[df$Var1==levels(df$Var1)[2],"Prop"]>0.75,1,2),each=length(levels(Var1))), label=paste("n =",Tot))) + theme_bw() + theme_barra
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.