Descritiva - CNA - Crianças Desejadas

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"))
#-----------------------------------------------------#

Observações sobre o BD

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.

Descritiva

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


jtrecenti/adocao documentation built on May 20, 2019, 3:15 a.m.