#aqui fica tudo que deve ser inicializado automaticamente no início do projeto
library(tidyverse) #manipular dados
library(gtsummary) #gerar tabelas de contingencia com p-valor
library(formattable) #gerar tabelas
library(DT) #gerar tabelas
library(rmarkdown) #estilo do relatório
library(data.table) #carregar grandes bases de dados
library(sjPlot) #plota coeficientes de modelos de regressão
library(sjlabelled) #para modelar a regressao logistica
library(sjmisc) #para modelar a regressao logistica

knitr::opts_chunk$set(echo = TRUE)

1. Base de Dados e Pré-processamento

2. Análise Exploratória dos Dados

2.1 Tabela de contingência vs Variável binária homicidio

#criando a tabela de contingência
dados_familia %>% 
  select( #aqui ta selecionando as variáveis na tabela
   qtd_pesoas_familia,
    raca,
    jovem,
    idoso,
    idade,
    comodos,
    receb_fam,
    empregado, 
    desempregado,
    escolaridade,
    regiao,
    freq_escola,
    analfabetismo,
    qtd_dias_receb_QUART,
    crowded,
    fup,
    desfecho) %>% 
  tbl_summary(by = desfecho,
              statistic = list(all_continuous() ~ "{mean} ({sd})")) %>% 
  add_p() %>% #adiciona os p-valores dos testes estatísticos 
   bold_labels() 
Characteristic 0, N = 183,2751 1, N = 4,4121 p-value2
qtd_pesoas_familia 2 (0) 2 (0) <0.001
raca <0.001
1 60,487 (36%) 1,490 (38%)
2 20,903 (13%) 401 (10%)
3 616 (0.4%) 12 (0.3%)
4 83,377 (50%) 1,958 (50%)
5 635 (0.4%) 69 (1.8%)
Unknown 17,257 482
jovem 10 (22) 21 (28) <0.001
idoso 43 (40) 18 (28) <0.001
idade <0.001
<20 19,298 (12%) 866 (23%)
>60 77,259 (50%) 804 (22%)
20|-40 21,442 (14%) 1,065 (29%)
40|-60 37,208 (24%) 999 (27%)
Unknown 28,068 678
comodos <0.001
0 3,136 (1.7%) 98 (2.2%)
1 4,023 (2.2%) 126 (2.9%)
2 10,598 (5.8%) 306 (6.9%)
3 24,142 (13%) 597 (14%)
4 46,152 (25%) 1,133 (26%)
5 47,591 (26%) 1,089 (25%)
6 28,103 (15%) 638 (14%)
7 10,458 (5.7%) 228 (5.2%)
8 9,072 (4.9%) 197 (4.5%)
receb_fam 1,711 (1,704) 2,122 (1,772) <0.001
empregado 15 (26) 23 (30) <0.001
desempregado 44 (35) 50 (34) <0.001
escolaridade <0.001
0 30,894 (22%) 285 (8.8%)
1 360 (0.3%) 7 (0.2%)
2 1,599 (1.1%) 21 (0.6%)
3 66,782 (47%) 1,277 (40%)
4 35,798 (25%) 1,312 (41%)
5 7,323 (5.1%) 315 (9.7%)
6 704 (0.5%) 14 (0.4%)
Unknown 39,815 1,181
regiao <0.001
Centro-Oeste 10,507 (5.7%) 321 (7.3%)
Nordeste 71,723 (39%) 1,622 (37%)
Norte 9,250 (5.1%) 274 (6.2%)
Sudeste 61,027 (33%) 1,248 (28%)
Sul 30,638 (17%) 945 (21%)
Unknown 130 2
freq_escola <0.001
0 59,914 (38%) 955 (26%)
1 540 (0.3%) 14 (0.4%)
2 1,916 (1.2%) 38 (1.0%)
3 67,210 (42%) 1,591 (43%)
4 24,666 (16%) 932 (25%)
5 4,419 (2.8%) 176 (4.7%)
6 436 (0.3%) 6 (0.2%)
Unknown 24,174 700
analfabetismo 38 (39) 24 (32) <0.001
Unknown 18,491 512
qtd_dias_receb_QUART <0.001
1 69,012 (38%) 1,214 (28%)
2 51,052 (28%) 1,289 (29%)
3 37,593 (21%) 1,075 (24%)
4 25,618 (14%) 834 (19%)
crowded 1.15 (0.88) 1.32 (1.06) <0.001
Unknown 3,330 100
fup 5.60 (2.53) 5.52 (2.49) 0.090
Unknown 22,602 562
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test
NA

2.3 Regressao Logistica

Construcao do modelo

#transformando em fator
dados_familia$desfecho <- factor(dados_familia$desfecho) 
dados_familia$raca <- factor(dados_familia$raca) 
#dados_familia$comodos <- factor(dados_familia$comodos) 
dados_familia$escolaridade <- factor(dados_familia$escolaridade) 
dados_familia$freq_escola <- factor(dados_familia$freq_escola) 
dados_familia$idade <- factor(dados_familia$idade) 


#modelagem da regressao logistica
m1 <- glm(desfecho ~ qtd_pesoas_familia + raca + jovem + idoso + idade + comodos + receb_fam + empregado + 
      desempregado + escolaridade + regiao + freq_escola  + analfabetismo + qtd_dias_receb_QUART + 
      crowded + fup, data = dados_familia, family = binomial(link = "logit"))

Tabela de significancia

#construindo tabela
tab_model(m1, file="tabela-homicidio.html")
Profiled confidence intervals may take longer time to compute. Use 'ci_method="wald"'
  for faster computation of CIs.
htmltools::includeHTML("tabela-homicidio.html")
  desfecho
Predictors Odds Ratios CI p
(Intercept) 0.02 0.01 – 0.03 <0.001
qtd pesoas familia 1.22 1.10 – 1.38 0.001
raca [2] 0.68 0.58 – 0.79 <0.001
raca [3] 0.75 0.32 – 1.49 0.465
raca [4] 0.81 0.73 – 0.90 <0.001
raca [5] 3.88 2.75 – 5.36 <0.001
jovem 1.01 1.00 – 1.01 <0.001
idoso 0.98 0.98 – 0.99 <0.001
idade [>60] 0.79 0.64 – 0.97 0.025
idade20|-40 1.28 1.13 – 1.45 <0.001
idade40|-60 0.72 0.63 – 0.83 <0.001
comodos 1.04 1.01 – 1.08 0.012
receb fam 1.00 1.00 – 1.00 0.800
empregado 1.00 1.00 – 1.01 <0.001
desempregado 1.00 1.00 – 1.00 0.188
escolaridade [1] 1.92 0.68 – 4.57 0.176
escolaridade [2] 1.77 0.97 – 3.07 0.053
escolaridade [3] 1.68 1.35 – 2.08 <0.001
escolaridade [4] 2.22 1.75 – 2.82 <0.001
escolaridade [5] 2.74 2.03 – 3.68 <0.001
escolaridade [6] 2.71 1.12 – 5.59 0.014
regiao [Nordeste] 0.75 0.63 – 0.90 0.001
regiao [Norte] 0.97 0.78 – 1.22 0.825
regiao [Sudeste] 0.69 0.58 – 0.83 <0.001
regiao [Sul] 1.12 0.93 – 1.36 0.220
freq escola [1] 0.97 0.44 – 1.93 0.943
freq escola [2] 0.92 0.55 – 1.48 0.743
freq escola [3] 0.82 0.70 – 0.96 0.015
freq escola [4] 0.74 0.61 – 0.89 0.001
freq escola [5] 0.63 0.47 – 0.85 0.003
freq escola [6] 0.42 0.12 – 1.36 0.150
analfabetismo 1.00 1.00 – 1.00 0.725
qtd dias receb QUART 1.02 0.92 – 1.13 0.759
crowded 1.06 1.01 – 1.11 0.028
fup 0.99 0.97 – 1.00 0.108
Observations 104896
R2 Tjur 0.021

Plotando o grafico com Odds Ratio

plot_model(m1, show.values = TRUE, value.offset = .4, title = "Homicidio na familia")

LS0tCnRpdGxlOiAiRmF0b3JlcyBkZSBSaXNjbyBTb2NpYWlzIHF1ZSBpbXBhY3RhbSBlbSBIb21pY8OtZGlvIEZhbWlsaWFyIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojYXF1aSBmaWNhIHR1ZG8gcXVlIGRldmUgc2VyIGluaWNpYWxpemFkbyBhdXRvbWF0aWNhbWVudGUgbm8gaW7DrWNpbyBkbyBwcm9qZXRvCmxpYnJhcnkodGlkeXZlcnNlKSAjbWFuaXB1bGFyIGRhZG9zCmxpYnJhcnkoZ3RzdW1tYXJ5KSAjZ2VyYXIgdGFiZWxhcyBkZSBjb250aW5nZW5jaWEgY29tIHAtdmFsb3IKbGlicmFyeShmb3JtYXR0YWJsZSkgI2dlcmFyIHRhYmVsYXMKbGlicmFyeShEVCkgI2dlcmFyIHRhYmVsYXMKbGlicmFyeShybWFya2Rvd24pICNlc3RpbG8gZG8gcmVsYXTDs3JpbwpsaWJyYXJ5KGRhdGEudGFibGUpICNjYXJyZWdhciBncmFuZGVzIGJhc2VzIGRlIGRhZG9zCmxpYnJhcnkoc2pQbG90KSAjcGxvdGEgY29lZmljaWVudGVzIGRlIG1vZGVsb3MgZGUgcmVncmVzc8OjbwpsaWJyYXJ5KHNqbGFiZWxsZWQpICNwYXJhIG1vZGVsYXIgYSByZWdyZXNzYW8gbG9naXN0aWNhCmxpYnJhcnkoc2ptaXNjKSAjcGFyYSBtb2RlbGFyIGEgcmVncmVzc2FvIGxvZ2lzdGljYQoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCiMgMS4gQmFzZSBkZSBEYWRvcyBlIFByw6ktcHJvY2Vzc2FtZW50bwoKCmBgYHtyIGltcG9ydC1kYXRhc2V0LCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQojY2FycmVnYW5kbyBhIGJhc2UgZGUgZGFkb3MgZW0gLmNzdgpkYWRvcyA8LSAKICBkYXRhLnRhYmxlOjpmcmVhZCgiL0RhZG9zL0Nvb3J0ZTEwMG0vUEJGX1NIU00vU0hBUkVEL0RhdGFzZXRfU0lNX0RhaWFuZV9nZW8uY3N2IikgCmRhZG9zPC0gZGFkb3MgJT4lIGZpbHRlcihpZGFkZSA+IDEwKSAjcmV0aXJhbmRvIGNyaWFuY2FzIG1lbm9yZXMgZGUgMTAgYW5vcwoKI2Z1bmNhbyBwYXJhIGNhbGN1bGFyIGEgbW9kYQptb2RhIDwtIGZ1bmN0aW9uKHYpIHsKICB1bmlxdiA8LSB1bmlxdWUodikKICB1bmlxdlt3aGljaC5tYXgodGFidWxhdGUobWF0Y2godiwgdW5pcXYpKSldCn0KCiNjcmlhbmRvIGEgdmFyaWF2ZWwgaWRvc28KZGFkb3MgPC0gZGFkb3MgJT4lIAogIG11dGF0ZSgKICAgIGlkb3NvID0gY2FzZV93aGVuKAogICAgICBpZGFkZSA8IDYwfjAsCiAgICAgIGlkYWRlID49IDYwfjEpCiAgKQoKI2NyaWFuZG8gYSB2YXJpYXZlbCBqb3ZlbQpkYWRvcyA8LSBkYWRvcyAlPiUgCiAgbXV0YXRlKAogICAgam92ZW0gPSBjYXNlX3doZW4oCiAgICAgIGlkYWRlIDwgMTV+MCwKICAgICAgaWRhZGUgPj0gMTUgJiBpZGFkZSA8PSAyNH4xLAogICAgICBpZGFkZSA+IDI0fjApCiAgKQoKCiNjYXRlZ29yaXphbmRvIHZhcmlhdmVpcwpkYWRvcyA8LSBkYWRvcyAlPiUgCiAgbXV0YXRlKAogICAgaWRhZGVfY2F0ID0gY2FzZV93aGVuKAogICAgICBpZGFkZSA8IDIwfiI8MjAiLAogICAgICBpZGFkZSA+PSAyMCAmIGlkYWRlIDwgNDB+IjIwfC00MCIsCiAgICAgIGlkYWRlID49IDQwICYgaWRhZGUgPCA2MH4iNDB8LTYwIiwKICAgICAgaWRhZGUgPiA2MH4iPjYwIikKICApCgoKI2ZhbWlsaWFzIGNvbSBwZWxvIG1lbm9zIHVtIGhvbWljaWRpbwpxdGRfaG9taWNpZGlvX2ZhbWlsaWEgPC0gZGFkb3MgJT4lIAogIGdyb3VwX2J5KGNvZF9mYW1pbGlhcl9lcSkgJT4lICNhZ3J1cGFuZG8gcG9yIGZhbWlsaWFzCiAgc3VtbWFyaXNlKAogICAgcXRkX3Blc29hc19mYW1pbGlhID0gbigpLCNxdWFudGlkYWRlIGRlIHBlc3NvYXMgbmEgZmFtaWxpYQogICAgcXRkX2hvbWljaWRpb19mYW1pbGlhID0gc3VtKGhvbWljaWRlKSwgI3F1YW50aWRhZGUgZGUgaG9taWNpZGlvIG5hIGZhbWlsaWEKICAgIHJhY2EgPSBtb2RhKGNvZF9yYWNhX2Nvcl9wZXNzb2FfZXEpLCAjcmFjYSBwcmVkb21pbmFudGUobW9kYSkgbmEgZmFtaWxpYQogICAgam92ZW0gPSAoc3VtKGpvdmVtKS9uKCkpKjEwMCwgI3BlcmNlbnR1YWwgZGUgam92ZW5zIG5hIGZhbWlsaWEKICAgIGlkb3NvID0gKHN1bShpZG9zbykvbigpKSoxMDAsICNwZXJjZW50dWFsIGRlIGlkb3NvIG5hIGZhbWlsaWEKICAgICNzZXhvID0gbW9kYShzZXhvKSwgI3NleG8gcHJlZG9taW5hbnRlKG1vZGEpIG5hIGZhbWlsaWEKICAgIGlkYWRlID0gbW9kYShpZGFkZV9jYXQpLCAjaWRhZGUgbWVkaWFuYSBkYSBmYW1pbGlhCiAgICBjb21vZG9zID0gbW9kYShxdGRfY29tb2Rvc19kb21pY19mYW1fZXEpLCAjcXVhbnRpZGFkZSBwcmVkb21pbmFudGUobW9kYSljb21vZG9zIHBvciBmYW1pbGlhCiAgICByZWNlYl9mYW0gPSBtYXgocXRkX2RpYXNfcmVjZWJfZmFtKSwgI21heGltbyBkZSBkaWFzIHF1ZSBwZWxvIG1lbm9zIHVtIG1lbWJybyBkYSBmYW1pbGlhIHJlY2ViZXUgYm9sc2EgZmFtaWxpYSAKICAgICNyZW11bmVyYWNhb19lbXByZWdvID0gbWVkaWFuKHZhbF9yZW11bmVyX2VtcHJlZ29fbWVtYl9lcSksICNtZWRpYSBkYSByZW11bmVyYWNhbyBkb3MgbWVtYnJvcyBkYSBmYW1pbGlhCiAgICBlc2NvbGFyaWRhZGUgPSBtYXgoZXNjb2xhcmlkYWRlX2VxKSwgI2VzY29sYXJpZGFkZSBwcmVkb21pbmFudGUobW9kYSkgZGEgZXNvbGFyaWRhZGUgbmEgZmFtaWxpYQogICAgZnJlcV9lc2NvbGEgPSBtb2RhKGVzY29sYXJpZGFkZV9lcSksICNmcmVxdWVuY2lhIHByZWRvbWluYW50ZSBzZSBmcmVxdWVudG91IGVzY29sYQogICAgcmVnaWFvID0gbW9kYShyZWdpYW8pLCAjcmVnaWFvIHByZWRvbWluYW50ZSBkYSBmYW1pbGlhCiAgICB1ZiA9IG1vZGEodWYpLCAjcmVnaWFvIHByZWRvbWluYW50ZSBkYSBmYW1pbGlhCiAgICBhbmFsZmFiZXRpc21vID0gKHN1bShuYW9fc2FiZV9sZXJfZXNjcmV2ZXIpL24oKSkqMTAwLCAjcGVyY2VudHVhbCBkZSBhbmFsZmFiZXRvcwogICAgZGVzZW1wcmVnYWRvID0gKHN1bShkZXNlbXByZWdhZG8pL24oKSkqMTAwLCAjcGVyY2VudHVhbCBkZSBkZXNlbXByZWdhZG8gbmEgZmFtaWxpYQogICAgZW1wcmVnYWRvID0gKHN1bShlbXByZWdhZG8pL24oKSkqMTAwLCAjcGVyY2VudHVhbCBkZSBkZXNlbXByZWdhZG8gbmEgZmFtaWxpYQogICAgcXRkX2RpYXNfcmVjZWJfUVVBUlQgPSBtb2RhKHF0ZF9kaWFzX3JlY2ViX1FVQVJUKSwgI3JlYy4gZmFtIHF1YXJ0aWwgKG1vZGEpCiAgICBjcm93ZGVkID0gbWF4KGNyb3dkZWQpLCAjbWF4aW1vIGRlIHBlc3NvYXMgcG9yIGNvbW9kbwogICAgZnVwID0gbWVkaWFuKGZ1cCkpICU+JSAKICBmaWx0ZXIocXRkX3Blc29hc19mYW1pbGlhID4gMSkgI2ZhbWlsaWFzIGNvbSBtYWlzIGRlIHVtYSBwZXNzb2EKCgojY3JpYW5kbyBhIHZhcmlhdmVsIGRlc2ZlY2hvCmRhZG9zX2ZhbWlsaWEgPC0gcXRkX2hvbWljaWRpb19mYW1pbGlhICU+JSAKICBtdXRhdGUoICNzZSB0ZXZlIHBlbG8gbWVub3MgdW0gc3VpY2lkaW8gKDEpIGUgY2FzbyBjb250cnJhcmlvICgwKQogICAgZGVzZmVjaG8gPSBjYXNlX3doZW4ocXRkX2hvbWljaWRpb19mYW1pbGlhID49IDF+MSxUUlVFfjApCiAgKQoKCmBgYAoKIyAyLiBBbsOhbGlzZSBFeHBsb3JhdMOzcmlhIGRvcyBEYWRvcwoKIyMgMi4xIFRhYmVsYSBkZSBjb250aW5nw6puY2lhIHZzIFZhcmnDoXZlbCBiaW7DoXJpYSBob21pY2lkaW8KCmBgYHtyLCBsYXlvdXQ9ImwtYm9keS1vdXRzZXQifQojY3JpYW5kbyBhIHRhYmVsYSBkZSBjb250aW5nw6puY2lhCmRhZG9zX2ZhbWlsaWEgJT4lIAogIHNlbGVjdCggI2FxdWkgdGEgc2VsZWNpb25hbmRvIGFzIHZhcmnDoXZlaXMgbmEgdGFiZWxhCiAgIHF0ZF9wZXNvYXNfZmFtaWxpYSwKICAgIHJhY2EsCiAgICBqb3ZlbSwKICAgIGlkb3NvLAogICAgaWRhZGUsCiAgICBjb21vZG9zLAogICAgcmVjZWJfZmFtLAogICAgZW1wcmVnYWRvLCAKICAgIGRlc2VtcHJlZ2FkbywKICAgIGVzY29sYXJpZGFkZSwKICAgIHJlZ2lhbywKICAgIGZyZXFfZXNjb2xhLAogICAgYW5hbGZhYmV0aXNtbywKICAgIHF0ZF9kaWFzX3JlY2ViX1FVQVJULAogICAgY3Jvd2RlZCwKICAgIGZ1cCwKICAgIGRlc2ZlY2hvKSAlPiUgCiAgdGJsX3N1bW1hcnkoYnkgPSBkZXNmZWNobywKICAgICAgICAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpKSAlPiUgCiAgYWRkX3AoKSAlPiUgI2FkaWNpb25hIG9zIHAtdmFsb3JlcyBkb3MgdGVzdGVzIGVzdGF0w61zdGljb3MgCiAgIGJvbGRfbGFiZWxzKCkgCgpgYGAKCgoKIyMgMi4zIFJlZ3Jlc3NhbyBMb2dpc3RpY2EKCiMjIyBDb25zdHJ1Y2FvIGRvIG1vZGVsbwoKYGBge3IgZWNobz1UUlVFfQojdHJhbnNmb3JtYW5kbyBlbSBmYXRvcgpkYWRvc19mYW1pbGlhJGRlc2ZlY2hvIDwtIGZhY3RvcihkYWRvc19mYW1pbGlhJGRlc2ZlY2hvKSAKZGFkb3NfZmFtaWxpYSRyYWNhIDwtIGZhY3RvcihkYWRvc19mYW1pbGlhJHJhY2EpIAojZGFkb3NfZmFtaWxpYSRjb21vZG9zIDwtIGZhY3RvcihkYWRvc19mYW1pbGlhJGNvbW9kb3MpIApkYWRvc19mYW1pbGlhJGVzY29sYXJpZGFkZSA8LSBmYWN0b3IoZGFkb3NfZmFtaWxpYSRlc2NvbGFyaWRhZGUpIApkYWRvc19mYW1pbGlhJGZyZXFfZXNjb2xhIDwtIGZhY3RvcihkYWRvc19mYW1pbGlhJGZyZXFfZXNjb2xhKSAKZGFkb3NfZmFtaWxpYSRpZGFkZSA8LSBmYWN0b3IoZGFkb3NfZmFtaWxpYSRpZGFkZSkgCgoKI21vZGVsYWdlbSBkYSByZWdyZXNzYW8gbG9naXN0aWNhCm0xIDwtIGdsbShkZXNmZWNobyB+IHF0ZF9wZXNvYXNfZmFtaWxpYSArIHJhY2EgKyBqb3ZlbSArIGlkb3NvICsgaWRhZGUgKyBjb21vZG9zICsgcmVjZWJfZmFtICsgZW1wcmVnYWRvICsgCiAgICAgIGRlc2VtcHJlZ2FkbyArIGVzY29sYXJpZGFkZSArIHJlZ2lhbyArIGZyZXFfZXNjb2xhICArIGFuYWxmYWJldGlzbW8gKyBxdGRfZGlhc19yZWNlYl9RVUFSVCArIAogICAgICBjcm93ZGVkICsgZnVwLCBkYXRhID0gZGFkb3NfZmFtaWxpYSwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICJsb2dpdCIpKQoKYGBgCgojIyMgVGFiZWxhIGRlIHNpZ25pZmljYW5jaWEKYGBge3J9CiNjb25zdHJ1aW5kbyB0YWJlbGEKdGFiX21vZGVsKG0xLCBmaWxlPSJ0YWJlbGEtaG9taWNpZGlvLmh0bWwiKQpodG1sdG9vbHM6OmluY2x1ZGVIVE1MKCJ0YWJlbGEtaG9taWNpZGlvLmh0bWwiKQpgYGAKCgojIyMgUGxvdGFuZG8gbyBncmFmaWNvIGNvbSBPZGRzIFJhdGlvCgpgYGB7cn0KcGxvdF9tb2RlbChtMSwgc2hvdy52YWx1ZXMgPSBUUlVFLCB2YWx1ZS5vZmZzZXQgPSAuNCwgdGl0bGUgPSAiSG9taWNpZGlvIG5hIGZhbWlsaWEiKQpgYGA=