A base de dados SIVEP-Gripe (Sistema de Informação da Vigilância Epidemiológica da Gripe) tem os registros dos casos e óbitos de SRAG (Síndrome Respiratória Aguda Grave). SRAG é considerada quando o indivíduo é hospitalizado com febre, mesmo que referida, acompanhada de tosse ou dor de garganta e que apresente dispneia ou saturação de O2 < 95% ou desconforto respiratório ou que evoluiu para óbito por SRAG independente de internação. A vigilância da SRAG no Brasil é desenvolvida pelo Ministério da Saúde (MS), por meio da Secretaria de Vigilância em Saúde (SVS), desde a pandemia de Influenza A (H1N1) em 2009. Mais informações em https://coronavirus.saude.gov.br/definicao-de-caso-e-notificacao

Há atualmente 1136681 observações na base de dados e 154 variáveis. Base de dados atualizada em 11/01/2021 e disponível em https://opendatasus.saude.gov.br/dataset/bd-srag-2020. Atualmente há 53 semanas epidemiológicas (trabalho da The Lancet considerou 8-33 semanas epidemiológicas) - ver sobre semanas epidemiológicas em http://portalsinan.saude.gov.br/calendario-epidemiologico?layout=edit&id=168.

Filtragem

Vamos agora ver os casos admitidos no hospital (1-Sim, 2-Não, 9-Ignorado).

questionr::freq(
  dados$HOSPITAL,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para internação", digits = 2) 
Tabela de frequências para internação
n %
1 1061254 93.4
2 39247 3.5
9 4743 0.4
NA 31437 2.8
Total 1136681 100.0

Note que há 75427 casos que não foram hospitalizados. Eles não atendem a definição de caso. O paper da The Lancet excluiu esses casos (1º box de exclusão no fluxograma). No dicionário diz: Caso o campo não seja igual a 1 – Sim o sistema emitirá um aviso indicando que não atende a definição de caso.

Abaixo mostro a distribuição conjunta de hospitalização e evolução (1-cura, 2-óbito, 3-óbito por outras causas, 9-ignorado).

Note que os casos não hospitalizados não necessariamente coincidem com os casos de óbito, o que é uma inconsistência da base ao considerar a sua definição de caso.

ctable(dados$HOSPITAL,  dados$EVOLUCAO, prop="r",  useNA = "no")
## Cross-Tabulation, Row Proportions  
## HOSPITAL * EVOLUCAO  
## Data Frame: dados  
## 
## ---------- ---------- ---------------- ---------------- -------------- -------------- -----------------
##              EVOLUCAO                1                2              3              9             Total
##   HOSPITAL                                                                                             
##          1              588117 (67.2%)   248728 (28.4%)   11004 (1.3%)   27481 (3.1%)   875330 (100.0%)
##          2               17497 (56.1%)    11619 (37.3%)     882 (2.8%)    1191 (3.8%)    31189 (100.0%)
##          9                1311 (40.2%)     1642 (50.4%)      35 (1.1%)     273 (8.4%)     3261 (100.0%)
##      Total              606925 (66.7%)   261989 (28.8%)   11921 (1.3%)   28945 (3.2%)   909780 (100.0%)
## ---------- ---------- ---------------- ---------------- -------------- -------------- -----------------

Seguindo o paper da The Lancet, vamos excluir os casos sem confirmação e que não foram hospitalizados.

dados1 <- filter(dados, HOSPITAL==1)

Ao considerarmos apenas os casos confirmados de hospitalizados, ficamos com 1061254 observações.

A segunda filtragem é considerar os casos classificados como COVID-19 na base de dados. A variável que indica a classificação é a CLASSI_FIN, com as seguintes categorias: 1-SRAG por influenza, 2-SRAG por outro vírus respiratório, 3-SRAG por outro agente etiológico, 4-SRAG não especificado e 5-SRAG por COVID-19.

questionr::freq(
  dados1$CLASSI_FIN,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para classificação do caso ", digits = 2) 
Tabela de frequências para classificação do caso
n %
1 2507 0.2
2 4137 0.4
3 2929 0.3
4 365992 34.5
5 588711 55.5
NA 96978 9.1
Total 1061254 100.0

Vamos então para a seleção dos casos classificados como COVID-19.

dados2 <- filter(dados1, CLASSI_FIN==5)

Agora, há 588711 selecionados.

Vamos selecionar só os casos de COVID confirmados por RT-PCR.

Serão considerados os casos classificados como

#Filtra pacientes com PCR positivo para COVID
dados3 <- dados2 %>% 
  filter((PCR_SARS2 == 1) |
         (str_detect(DS_PCR_OUT, "SARS|COVID|COV|CORONA|CIVID") & !str_detect(DS_PCR_OUT,"63|43|229|HK|RINO|SINCI|PARE")) |
         (PCR_RESUL == 1 & CRITERIO == 1 & is.na(DS_PCR_OUT) &  ## Adicional filter: among those cases already defined as COVID-19 by laboratory criterion,
          (PCR_RINO  != 1 | is.na(PCR_RINO)) &                  ## those with a positive PCR result and not being positive for other PCRs
          (POS_PCRFLU!= 1 | is.na(POS_PCRFLU)) & 
          (PCR_OUTRO != 1 | is.na(PCR_OUTRO)) & 
          (POS_PCROUT!= 1 | is.na(POS_PCROUT)) & 
          (                 is.na(PCR_VSR)) & 
          (                 is.na(PCR_METAP)) & 
          (                 is.na(PCR_PARA1))))

Após essa seleção foram selecionados 454830 casos.

Vamos agora ver os dados segundo o sexo.

questionr::freq(
  dados3$CS_SEXO,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para sexo", digits = 2) 
Tabela de frequências para sexo
n %
F 199931 44
I 74 0
M 254825 56
Total 454830 100
dados4 <- filter(dados3, CS_SEXO == "F")

Selecionando só as pessoas do sexo feminino, ficamos com 199931 casos. A próxima seleção é considerar pessoas do sexo feminino com idade maior que 9 anos e menor que 50 (não inclusive).

dados5 <- filter(dados4, NU_IDADE_N > 9 & NU_IDADE_N < 50)

O tamanho da amostra fica em 50845 casos.

Agora vamos identificar as pessoas gestantes. Para isso, vamos analisar a variável CS_GESTANT. Essa variável assume os valores: 1-1º Trimestre; 2-2º Trimestre; 3-3º Trimestre; 4-Idade Gestacional Ignorada; 5-Não; 6-Não se aplica; 9-Ignorado.

questionr::freq(
  dados5$CS_GESTANT,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para variável sobre gestação", digits = 2) 
Tabela de frequências para variável sobre gestação
n %
0 1 0.0
1 295 0.6
2 829 1.6
3 2089 4.1
4 159 0.3
5 37268 73.3
6 2056 4.0
9 8148 16.0
Total 50845 100.0

Note que há 1 casos classificado como 0 (que não tem código no dicionário), 2056 casos como não se aplica e 8148 casos como ignorado. Esses 10205 casos são excluídos.

dados6 <- filter(dados5, CS_GESTANT>=1 & CS_GESTANT<=5)
dados6$gestante_SN <- ifelse(dados6$CS_GESTANT==5,"não", "sim")
questionr::freq(
  dados6$gestante_SN,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para variável indicadora de gestação", digits = 2) 
Tabela de frequências para variável indicadora de gestação
n %
não 37268 91.7
sim 3372 8.3
Total 40640 100.0

Vamos agora observar a variável indicadora de puérpera (PUERPERA, com 1-sim, 2-não e 9-Ignorado).

Tabela de frequências para variável indicadora de puérpera
n %
1 983 2.4
2 12183 30.0
9 230 0.6
NA 27244 67.0
Total 40640 100.0
ctable(dados6$gestante_SN, dados6$puerpera, prop="n")
## Cross-Tabulation  
## gestante_SN * puerpera  
## Data Frame: dados6  
## 
## ------------- ---------- ------- ----- ------- ----- -------
##                 puerpera       0     1       2     9   Total
##   gestante_SN                                               
##           não              25038   794   11224   212   37268
##           sim               2206   189     959    18    3372
##         Total              27244   983   12183   230   40640
## ------------- ---------- ------- ----- ------- ----- -------

Veja que há 189 casos classificados como gestante e puérpera ao mesmo tempo.

dados6$gest_puerp <- ifelse(dados6$gestante_SN=="sim",1, ifelse(dados6$gestante_SN=="não" & dados6$puerpera==1,2,0) )

dados6$gest_puerp <- factor(dados6$gest_puerp, 
                     levels = c(0,1,2), 
                     labels = c("não", "gesta", "puerp"))

Consideramos todos os casos classificados como gestante como “gesta” (3372 casos), os casos classificados como não gestante e sim para puerpério como “puerp” (794 casos) e os restantes como não gestante (36474 casos).

questionr::freq(
  dados6$gest_puerp,
  cum = FALSE,
  total = TRUE,
  na.last = FALSE,
  valid = FALSE
) %>%
  kable(caption = "Tabela de frequências para variável gest_puerp", digits = 2)
Tabela de frequências para variável gest_puerp
n %
não 36474 89.7
gesta 3372 8.3
puerp 794 2.0
Total 40640 100.0

Agora vamos criar a variável que é indicadora de gestante ou puérpera que chamamos de gesta_puerp_SN: sim (se gestante ou puérpera) e não (se não for gestante e nem puérpera).

dados6$gesta_puerp_SN <- ifelse(dados6$gest_puerp=="não","não", "sim")
Tabela de frequências para variável gesta_puerp_SN
n %
não 36474 89.7
sim 4166 10.3
Total 40640 100.0

A variável SEM_NOT indica a semana epidemiológica do preenchimento da ficha de notificação. A variável SEM_PRI indica a semana epidemiológica dos primeiros sintomas.

Tabela de frequências para variável SEM_NOT
n %
1 477 1.2
2 25 0.1
9 3 0.0
10 3 0.0
11 7 0.0
12 90 0.2
13 284 0.7
14 486 1.2
15 603 1.5
16 891 2.2
17 1122 2.8
18 1327 3.3
19 1443 3.6
20 1456 3.6
21 1399 3.4
22 1344 3.3
23 1306 3.2
24 1380 3.4
25 1444 3.6
26 1416 3.5
27 1419 3.5
28 1494 3.7
29 1419 3.5
30 1479 3.6
31 1286 3.2
32 1124 2.8
33 1030 2.5
34 998 2.5
35 905 2.2
36 883 2.2
37 842 2.1
38 800 2.0
39 682 1.7
40 637 1.6
41 587 1.4
42 564 1.4
43 556 1.4
44 538 1.3
45 482 1.2
46 701 1.7
47 824 2.0
48 857 2.1
49 951 2.3
50 901 2.2
51 840 2.1
52 672 1.7
53 663 1.6
Total 40640 100.0
Tabela de frequências para variável SEM_PRI
n %
8 1 0.0
9 9 0.0
10 12 0.0
11 96 0.2
12 313 0.8
13 470 1.2
14 650 1.6
15 884 2.2
16 1205 3.0
17 1438 3.5
18 1514 3.7
19 1504 3.7
20 1503 3.7
21 1350 3.3
22 1307 3.2
23 1414 3.5
24 1449 3.6
25 1499 3.7
26 1308 3.2
27 1577 3.9
28 1457 3.6
29 1350 3.3
30 1255 3.1
31 1172 2.9
32 975 2.4
33 991 2.4
34 941 2.3
35 791 1.9
36 809 2.0
37 733 1.8
38 634 1.6
39 593 1.5
40 604 1.5
41 595 1.5
42 507 1.2
43 515 1.3
44 509 1.3
45 731 1.8
46 825 2.0
47 928 2.3
48 900 2.2
49 876 2.2
50 813 2.0
51 705 1.7
52 580 1.4
53 348 0.9
Total 40640 100.0

Agora vamos tratar as variáveis de data para depois analisá-las.

############# datas
ultim_dia <- as.Date("2021-01-11")
dados6 <-  dados6 %>% 
  mutate(dt_notific = as.Date(DT_NOTIFIC, format = "%d/%m/%Y"),
         dt_sint = as.Date(DT_SIN_PRI, format = "%d/%m/%Y"),
         dt_interna = as.Date(DT_INTERNA, format = "%d/%m/%Y"),
         dt_pcr = as.Date(DT_PCR, format = "%d/%m/%Y"),
         dt_entuti  = as.Date(DT_ENTUTI,  format = "%d/%m/%Y"),
         dt_saiduti = as.Date(DT_SAIDUTI, format = "%d/%m/%Y"),
         dt_evoluca = as.Date(DT_EVOLUCA, format = "%d/%m/%Y"),
         dt_encerra = as.Date(DT_ENCERRA, format = "%d/%m/%Y"),
         dt_digita = as.Date(DT_DIGITA, format = "%d/%m/%Y"))

dados6 <-  dados6 %>% 
  mutate(dt_interna = as.Date(case_when(
    DT_INTERNA == "16/04/7202" ~ "16/04/2020", #typo
    DT_INTERNA == "10/12/2202" ~ "10/12/2020",  #typo
    TRUE ~ as.character(DT_INTERNA)), format = "%d/%m/%Y"))

#dt_notific - Data do preenchimento da ficha de notificação
#dt_sint - Data de 1ºs sintomas (deve ser menor que dt_notific)
#dt_interna - Data da internação por SRAG
#dt_pcr - Data do Resultado RT-PCR/outro método por Biologia Molecular
#dt_entuti - Data da entrada na UTI
#dt_saiduti - Data da saída da UTI 
#dt_evoluca - Data da alta ou óbito
#dt_digita - Preenchido automaticamente pelo sistema com a data da digitação da ficha. Não é a data de preenchimento da ficha manualmente e sim a data em que é digitado no sistema.

summary(dados6$dt_notific)
##         Min.      1st Qu.       Median         Mean      3rd Qu.         Max. 
## "2020-02-27" "2020-05-29" "2020-07-18" "2020-07-31" "2020-09-28" "2021-01-11"
summary(dados6$dt_sint)
##         Min.      1st Qu.       Median         Mean      3rd Qu.         Max. 
## "2020-02-17" "2020-05-19" "2020-07-09" "2020-07-22" "2020-09-18" "2021-01-02"

Observação: Perceba que os primeiros sintomas surgiram entre a 8ª semana epidemiológica e entre 53ª semana.

Vamos criar a variável de número de comorbidades. São as comorbidades:

comorbidades <-  c("CARDIOPATI_aux", "HEMATOLOGI_aux", "HEPATICA_aux", "ASMA_aux",
                   "DIABETES_aux", "NEUROLOGIC_aux", "PNEUMOPATI_aux",
                   "IMUNODEPRE_aux", "RENAL_aux", "OBESIDADE_aux")

comorbidades1 <-  c("CARDIOPATI_aux1", "HEMATOLOGI_aux1", "HEPATICA_aux1", "ASMA_aux1",
                   "DIABETES_aux1", "NEUROLOGIC_aux1", "PNEUMOPATI_aux1",
                   "IMUNODEPRE_aux1", "RENAL_aux1", "OBESIDADE_aux1")

dados6 <- mutate(dados6, CARDIOPATI_aux=CARDIOPATI, HEMATOLOGI_aux=HEMATOLOGI, HEPATICA_aux=HEPATICA, ASMA_aux=ASMA, DIABETES_aux=DIABETES, NEUROLOGIC_aux=NEUROLOGIC, PNEUMOPATI_aux=PNEUMOPATI, IMUNODEPRE_aux=IMUNODEPRE, RENAL_aux=RENAL, OBESIDADE_aux=OBESIDADE)

dados6 <- mutate(dados6, CARDIOPATI_aux1=CARDIOPATI, HEMATOLOGI_aux1=HEMATOLOGI, HEPATICA_aux1=HEPATICA, ASMA_aux1=ASMA, DIABETES_aux1=DIABETES, NEUROLOGIC_aux1=NEUROLOGIC, PNEUMOPATI_aux1=PNEUMOPATI, IMUNODEPRE_aux1=IMUNODEPRE, RENAL_aux1=RENAL, OBESIDADE_aux1=OBESIDADE)

dados6 <-  dados6 %>% 
  mutate_at(all_of(comorbidades), function(x){case_when(x == "1" ~ 1, TRUE ~ 0)}) %>%
  mutate_at(all_of(comorbidades1), function(x){case_when(x == "1" ~ 1, x == "2" ~ 0, TRUE ~ NA_real_)}) %>%
  mutate(
      cont_comorb = CARDIOPATI_aux + HEMATOLOGI_aux +  HEPATICA_aux + ASMA_aux + DIABETES_aux + NEUROLOGIC_aux + PNEUMOPATI_aux + IMUNODEPRE_aux + RENAL_aux +
          OBESIDADE_aux) %>% 
    mutate(
        num_comorb = case_when(
            is.na(CARDIOPATI_aux1) | is.na(HEMATOLOGI_aux1) | is.na(HEPATICA_aux1) | is.na(ASMA_aux1) | is.na(DIABETES_aux1) | is.na(NEUROLOGIC_aux1) | is.na(PNEUMOPATI_aux1) |
                is.na(IMUNODEPRE_aux1) | is.na(RENAL_aux1) | is.na(OBESIDADE_aux1) ~ NA_real_,
            TRUE ~ cont_comorb
        ),
        gr_comorb = case_when(
            num_comorb == 0 ~ 0,
            num_comorb == 1 ~ 1,
            num_comorb == 2 ~ 1,
            num_comorb >  2 ~ 2, 
            TRUE ~ NA_real_)) 

dados6$gr_comorb <- factor(dados6$gr_comorb, 
                     levels = c(0, 1, 2), 
                     labels = c("nenhuma", "1 ou 2", ">2"))
sintomas <-  c("FEBRE_aux", "TOSSE_aux", "GARGANTA_aux", "DISPNEIA_aux", "DESC_RESP_aux", "SATURACAO_aux", "DIARREIA_aux", "VOMITO_aux", "DOR_ABD_aux", "FADIGA_aux", "PERD_OLFT_aux", "PERD_PALA_aux")

sintomas1 <-  c("FEBRE_aux1", "TOSSE_aux1", "GARGANTA_aux1", "DISPNEIA_aux1", "DESC_RESP_aux1", "SATURACAO_aux1", "DIARREIA_aux1", "VOMITO_aux1", "DOR_ABD_aux1", "FADIGA_aux1", "PERD_OLFT_aux1", "PERD_PALA_aux1")

dados6 <- mutate(dados6, FEBRE_aux=FEBRE, TOSSE_aux=TOSSE, GARGANTA_aux=GARGANTA, DISPNEIA_aux=DISPNEIA, DESC_RESP_aux=DESC_RESP, SATURACAO_aux=SATURACAO, DIARREIA_aux=DIARREIA, VOMITO_aux=VOMITO, DOR_ABD_aux=DOR_ABD, FADIGA_aux=FADIGA, PERD_OLFT_aux=PERD_OLFT, PERD_PALA_aux=PERD_PALA)

dados6 <- mutate(dados6, FEBRE_aux1=FEBRE, TOSSE_aux1=TOSSE, GARGANTA_aux1=GARGANTA, DISPNEIA_aux1=DISPNEIA, DESC_RESP_aux1=DESC_RESP, SATURACAO_aux1=SATURACAO, DIARREIA_aux1=DIARREIA, VOMITO_aux1=VOMITO, DOR_ABD_aux1=DOR_ABD, FADIGA_aux1=FADIGA, PERD_OLFT_aux1=PERD_OLFT, PERD_PALA_aux1=PERD_PALA)

dados6 <-  dados6 %>% 
  mutate_at(all_of(sintomas), function(x){case_when(x == "1" ~ 1, TRUE ~ 0)}) %>%
  mutate_at(all_of(sintomas1), function(x){case_when(x == "1" ~ 1, x == "2" ~ 0, TRUE ~ NA_real_)}) %>%
  mutate(
      cont_sintomas = FEBRE_aux + TOSSE_aux +  GARGANTA_aux + DISPNEIA_aux + DESC_RESP_aux + SATURACAO_aux + DIARREIA_aux + VOMITO_aux + DOR_ABD_aux + FADIGA_aux + PERD_OLFT_aux + PERD_PALA_aux) %>% 
    mutate(
        num_sintomas = case_when(
            is.na(FEBRE_aux1) | is.na(TOSSE_aux1) | is.na(GARGANTA_aux1) | is.na(DISPNEIA_aux1) | is.na(DESC_RESP_aux1) | is.na(SATURACAO_aux1) | is.na(DIARREIA_aux1) |
                is.na(VOMITO_aux1) | is.na(DOR_ABD_aux1) | is.na(FADIGA_aux1) | is.na(PERD_OLFT_aux1) | is.na(PERD_PALA_aux1) ~ NA_real_,
            TRUE ~ cont_sintomas
        ),
        gr_sintomas = case_when(
            num_sintomas == 0 ~ 0,
            num_sintomas == 1 ~ 1,
            num_sintomas == 2 ~ 1,
            num_sintomas >  2 ~ 2, 
            TRUE ~ NA_real_)) 

dados6$gr_sintomas <- factor(dados6$gr_sintomas, 
                     levels = c(0, 1, 2), 
                     labels = c("nenhum", "1 ou 2", ">2"))
#Sari e sari sem febre
dados6 <-  dados6 %>% 
  mutate(
    sari = case_when(
      FEBRE == "1" &
        (TOSSE == "1" | GARGANTA == "1") &
        (DESC_RESP == "1" | DISPNEIA == "1" | SATURACAO == "1") ~ 1, 
      is.na(FEBRE_aux1) | (is.na(TOSSE_aux1)  & is.na(GARGANTA_aux1)) | (is.na(DESC_RESP_aux1) & is.na(DISPNEIA_aux1) &  is.na(SATURACAO_aux1)) ~ NA_real_,
      TRUE ~ 0),
    sari_sfebre = case_when(
      (TOSSE == "1" | GARGANTA == "1") &
        (DESC_RESP == "1" | DISPNEIA == "1" | SATURACAO == "1") ~ 1,
     (is.na(TOSSE_aux1)  & is.na(GARGANTA_aux1)) | (is.na(DESC_RESP_aux1) & is.na(DISPNEIA_aux1) &  is.na(SATURACAO_aux1)) ~ NA_real_,
      TRUE ~ 0))

dados6$sari <- factor(dados6$sari, 
                     levels = c(1, 0), 
                     labels = c("sim", "não"))

dados6$sari_sfebre <- factor(dados6$sari_sfebre, 
                     levels = c(1, 0), 
                     labels = c("sim", "não"))

Vamos agora considerar a base de dados que considera apenas os casos com desfecho concluído (óbito ou cura).

dados6 <- dados6 %>% mutate(evolucao = case_when(EVOLUCAO == 1 ~ "Cura",
                                                 EVOLUCAO == 2 ~ "Obito",
                                                 EVOLUCAO == 3 ~ "Obito",
                                                 TRUE ~ "não finalizado"))

## selecionando só os casos com info sobre desfecho (obito ou cura)
dados7 <- filter(dados6, evolucao != "não finalizado")

dados7$id <- 1:dim(dados7)[1]

dados7$raca <- factor(dados7$CS_RACA, 
                      levels = c("1", "2", "3", "4", "5"), 
                      labels = c("branca", "preta", "amarela", "parda", "indigena"))

dados7$cardiopati <- factor(dados7$CARDIOPATI, 
                            levels = c("1", "2"), 
                            labels = c("sim", "não"))

dados7$asma <- factor(dados7$ASMA, 
                      levels = c("1", "2"), 
                      labels = c("sim", "não"))

dados7$diabetes <- factor(dados7$DIABETES, 
                          levels = c("1", "2"), 
                          labels = c("sim", "não"))

dados7$imunodepre <- factor(dados7$IMUNODEPRE, 
                            levels = c("1", "2"), 
                            labels = c("sim", "não"))

dados7$obesidade <- factor(dados7$OBESIDADE, 
                           levels = c("1", "2"), 
                           labels = c("sim", "não"))

Vamos agora fazer o propensity score:

dados_novo <- select(dados7, id, gest_puerp, NU_IDADE_N, raca, SG_UF,
                     cardiopati, 
                     asma, diabetes, imunodepre, obesidade)

dados_novo <- na.omit(dados_novo)

d <- dados_novo[dados_novo$gest_puerp %in% c("não", "puerp"),] #Subset just the control and 1 treatment
d$treat_i <- as.numeric(d$gest_puerp == "puerp") #Create new binary treatment variable
m <- matchit(treat_i ~ NU_IDADE_N + raca + SG_UF + 
               cardiopati + asma + diabetes + imunodepre +
               obesidade, data = d, method="nearest", 
             ratio = 1)

dados_auxi <- d[m$weights==1, ]



d <- dados_novo[dados_novo$gest_puerp %in% c("gesta", "puerp"),] #Subset just the control and 1 treatment
d$treat_i <- as.numeric(d$gest_puerp == "puerp") #Create new binary treatment variable
m <- matchit(treat_i ~ NU_IDADE_N + raca + SG_UF + 
               cardiopati + asma + diabetes + imunodepre +
               obesidade, data = d, method="nearest", 
             ratio = 1)

dados_auxi2 <- d[m$weights==1, ]


dados_aux_psm <- rbind(dados_auxi2, dados_auxi[dados_auxi$gest_puerp=="não", ])
# str(dados_aux_psm)
# table(dados_aux_psm$gest_puerp)

dados_psm <- right_join(dados7, dados_aux_psm, by= c("id", "gest_puerp", "NU_IDADE_N", "raca", "SG_UF", "cardiopati", "asma", "diabetes", "imunodepre", "obesidade"))
# names(dados_psm)
# dim(dados_psm)

Comparação entre gestante ou puérpera versus não gestante e comparação entre gestante versus puérpera versus não (não gestante e não puérpera)

Variáveis de caracterização

As porcentagens estão por grupo indicador de gestante.

Para raça (CS_RACA), as categorias são: 1-branca; 2-preta; 3-amarela; 4-parda; 5-Indígena; 6-Ignorada.

kable(questionr::freq(dados_psm$CS_RACA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para raça",digits = 2)
Tabela de frequências para raça
n %
1 395 36.6
2 70 6.5
3 2 0.2
4 604 55.9
5 9 0.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável raca, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da raça por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$raca <- factor(dados_psm$CS_RACA, 
                     levels = c("1", "2", "3", "4", "5"), 
                     labels = c("branca", "preta", "amarela", "parda", "indigena"))
ctable(dados_psm$gest_puerp,  dados_psm$raca, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * raca  
## Data Frame: dados_psm  
## 
## 
## ------------ ------ ------------- ----------- ---------- ------------- ---------- ---------------
##                raca        branca       preta    amarela         parda   indigena           Total
##   gest_puerp                                                                                     
##          não          141 (39.2%)   22 (6.1%)   0 (0.0%)   195 (54.2%)   2 (0.6%)    360 (100.0%)
##        gesta          122 (33.9%)   24 (6.7%)   1 (0.3%)   210 (58.3%)   3 (0.8%)    360 (100.0%)
##        puerp          132 (36.7%)   24 (6.7%)   1 (0.3%)   199 (55.3%)   4 (1.1%)    360 (100.0%)
##        Total          395 (36.6%)   70 (6.5%)   2 (0.2%)   604 (55.9%)   9 (0.8%)   1080 (100.0%)
## ------------ ------ ------------- ----------- ---------- ------------- ---------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     3.752      8    0.8787  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$raca, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * raca  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------ ------------- ----------- ---------- ------------- ---------- ---------------
##                    raca        branca       preta    amarela         parda   indigena           Total
##   gesta_puerp_SN                                                                                     
##              não          141 (39.2%)   22 (6.1%)   0 (0.0%)   195 (54.2%)   2 (0.6%)    360 (100.0%)
##              sim          254 (35.3%)   48 (6.7%)   2 (0.3%)   409 (56.8%)   7 (1.0%)    720 (100.0%)
##            Total          395 (36.6%)   70 (6.5%)   2 (0.2%)   604 (55.9%)   9 (0.8%)   1080 (100.0%)
## ---------------- ------ ------------- ----------- ---------- ------------- ---------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.905      4    0.5738  
## ----------------------------

Vamos criar uma variável indicadora de pessoa branca (sim ou não).

dados_psm <- mutate(dados_psm, branca_SN = ifelse(raca=="branca","sim", "não") )
ctable(dados_psm$gest_puerp,  dados_psm$branca_SN, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * branca_SN  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- ---------------
##                branca_SN           não           sim           Total
##   gest_puerp                                                        
##          não               219 (60.8%)   141 (39.2%)    360 (100.0%)
##        gesta               238 (66.1%)   122 (33.9%)    360 (100.0%)
##        puerp               228 (63.3%)   132 (36.7%)    360 (100.0%)
##        Total               685 (63.4%)   395 (36.6%)   1080 (100.0%)
## ------------ ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.163      2     0.339  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$branca_SN, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * branca_SN  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- ---------------
##                    branca_SN           não           sim           Total
##   gesta_puerp_SN                                                        
##              não               219 (60.8%)   141 (39.2%)    360 (100.0%)
##              sim               466 (64.7%)   254 (35.3%)    720 (100.0%)
##            Total               685 (63.4%)   395 (36.6%)   1080 (100.0%)
## ---------------- ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.401      1    0.2365  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.85        0.65       1.10   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.94       0.94      0.94   
## --------------------------------

Para escolaridade (CS_ESCOL_N), as categorias são: 0-sem escolaridade/analfabeto; 1-fundamental 1º ciclo (1ª a 5ª série); 2-fundamental 2º ciclo (6ª a 9ª série); 3-médio (1º ao 3º ano); 4-Superior; 5-Não se aplica (Preenchido automaticamente com a categoria “não se aplica” quando idade for menor que 7 anos), 9-Ignorada.

kable(questionr::freq(dados_psm$CS_ESCOL_N, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para escolaridade",digits = 2)
Tabela de frequências para escolaridade
n %
0 10 0.9
1 64 5.9
2 103 9.5
3 303 28.1
4 108 10.0
9 284 26.3
NA 208 19.3
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável escol, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$escol <- factor(dados_psm$CS_ESCOL_N, 
                     levels = c("0","1", "2", "3", "4"), 
                     labels = c("sem escol", "fund1", "fund2", "medio", "superior"))
ctable(dados_psm$gest_puerp,  dados_psm$escol, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * escol  
## Data Frame: dados_psm  
## 
## 
## ------------ ------- ----------- ------------ ------------- ------------- ------------- --------------
##                escol   sem escol        fund1         fund2         medio      superior          Total
##   gest_puerp                                                                                          
##          não            7 (3.6%)   29 (15.0%)    40 (20.7%)    84 (43.5%)    33 (17.1%)   193 (100.0%)
##        gesta            1 (0.5%)   15 ( 7.9%)    32 (16.8%)   108 (56.8%)    34 (17.9%)   190 (100.0%)
##        puerp            2 (1.0%)   20 ( 9.8%)    31 (15.1%)   111 (54.1%)    41 (20.0%)   205 (100.0%)
##        Total           10 (1.7%)   64 (10.9%)   103 (17.5%)   303 (51.5%)   108 (18.4%)   588 (100.0%)
## ------------ ------- ----------- ------------ ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     17.29      8    0.0273  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$escol, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * escol  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------- ----------- ------------ ------------- ------------- ------------- --------------
##                    escol   sem escol        fund1         fund2         medio      superior          Total
##   gesta_puerp_SN                                                                                          
##              não            7 (3.6%)   29 (15.0%)    40 (20.7%)    84 (43.5%)    33 (17.1%)   193 (100.0%)
##              sim            3 (0.8%)   35 ( 8.9%)    63 (15.9%)   219 (55.4%)    75 (19.0%)   395 (100.0%)
##            Total           10 (1.7%)   64 (10.9%)   103 (17.5%)   303 (51.5%)   108 (18.4%)   588 (100.0%)
## ---------------- ------- ----------- ------------ ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.31      4    0.0026  
## ----------------------------

Vamos criar uma variável indicadora de curso superior (sim ou não).

dados_psm <- mutate(dados_psm, superior_SN = ifelse(escol=="superior","sim", "não") )
ctable(dados_psm$gest_puerp,  dados_psm$superior_SN, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * superior_SN  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------- ------------- ------------- --------------
##                superior_SN           não           sim          Total
##   gest_puerp                                                         
##          não                 160 (82.9%)    33 (17.1%)   193 (100.0%)
##        gesta                 156 (82.1%)    34 (17.9%)   190 (100.0%)
##        puerp                 164 (80.0%)    41 (20.0%)   205 (100.0%)
##        Total                 480 (81.6%)   108 (18.4%)   588 (100.0%)
## ------------ ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      0.6       2    0.7408  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$superior_SN, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * superior_SN  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------- ------------- ------------- --------------
##                    superior_SN           não           sim          Total
##   gesta_puerp_SN                                                         
##              não                 160 (82.9%)    33 (17.1%)   193 (100.0%)
##              sim                 320 (81.0%)    75 (19.0%)   395 (100.0%)
##            Total                 480 (81.6%)   108 (18.4%)   588 (100.0%)
## ---------------- ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.1954      1    0.6585  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.14        0.72       1.78   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.02       1.02      1.02   
## --------------------------------

Vamos categorizar escolaridade como o paper do The Lancet: analfabeto, até ensino médio, ensino médio e superior.

dados_psm <- mutate(dados_psm, escol_lancet = ifelse(escol=="fund1" | escol=="fund2", "ate medio", ifelse(escol=="medio", "medio", ifelse(escol=="superior", "superior", "sem escolaridade"))))

dados_psm$escol_lancet  <- factor(dados_psm$escol_lancet, 
                               levels = c("sem escolaridade","ate medio", "medio", "superior"), 
                     labels = c("sem escolaridade", "ate medio", "medio", "superior"))
table(dados_psm$escol_lancet)
## 
## sem escolaridade        ate medio            medio         superior 
##               10              167              303              108
ctable(dados_psm$gest_puerp,  dados_psm$escol_lancet, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * escol_lancet  
## Data Frame: dados_psm  
## 
## 
## ------------ -------------- ------------------ ------------- ------------- ------------- --------------
##                escol_lancet   sem escolaridade     ate medio         medio      superior          Total
##   gest_puerp                                                                                           
##          não                          7 (3.6%)    69 (35.8%)    84 (43.5%)    33 (17.1%)   193 (100.0%)
##        gesta                          1 (0.5%)    47 (24.7%)   108 (56.8%)    34 (17.9%)   190 (100.0%)
##        puerp                          2 (1.0%)    51 (24.9%)   111 (54.1%)    41 (20.0%)   205 (100.0%)
##        Total                         10 (1.7%)   167 (28.4%)   303 (51.5%)   108 (18.4%)   588 (100.0%)
## ------------ -------------- ------------------ ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.05      6    0.0135  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$escol_lancet, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * escol_lancet  
## Data Frame: dados_psm  
## 
## 
## ---------------- -------------- ------------------ ------------- ------------- ------------- --------------
##                    escol_lancet   sem escolaridade     ate medio         medio      superior          Total
##   gesta_puerp_SN                                                                                           
##              não                          7 (3.6%)    69 (35.8%)    84 (43.5%)    33 (17.1%)   193 (100.0%)
##              sim                          3 (0.8%)    98 (24.8%)   219 (55.4%)    75 (19.0%)   395 (100.0%)
##            Total                         10 (1.7%)   167 (28.4%)   303 (51.5%)   108 (18.4%)   588 (100.0%)
## ---------------- -------------- ------------------ ------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     15.56      3    0.0014  
## ----------------------------

Outra variável de caracterização é a idade (NU_IDADE_N). A seguir apresentamos as medidas descritivas de idade por grupo (gest_puerp e gesta_puerp_SN).

datasummary((gest_puerp + gesta_puerp_SN) ~ NU_IDADE_N*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 360.00 29.00 9.80 30.00 10.00 49.00 22.00 36.00 14.00
gesta 360.00 30.38 6.58 30.00 16.00 48.00 25.00 35.00 10.00
puerp 360.00 30.54 7.21 31.00 14.00 49.00 25.00 35.00 10.00
gesta_puerp_SN não 360.00 29.00 9.80 30.00 10.00 49.00 22.00 36.00 14.00
sim 720.00 30.46 6.90 30.00 14.00 49.00 25.00 35.00 10.00

Comparação da idade com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(NU_IDADE_N ~ gest_puerp,
          data=dados_psm)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  NU_IDADE_N by gest_puerp
## Kruskal-Wallis chi-squared = 3.4681, df = 2, p-value = 0.1766
pairwise.wilcox.test(dados_psm$NU_IDADE_N, dados_psm$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm$NU_IDADE_N and dados_psm$gest_puerp 
## 
##       não  gesta
## gesta 0.28 -    
## puerp 0.28 0.88 
## 
## P value adjustment method: holm

Comparação da idade com relação ao gesta_puerp_SN

#Levene
leveneTest(NU_IDADE_N ~ gesta_puerp_SN, data=dados_psm, center=mean)
t.test(NU_IDADE_N ~ gesta_puerp_SN, data=dados_psm, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  NU_IDADE_N by gesta_puerp_SN
## t = -2.5253, df = 542.29, p-value = 0.01184
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -2.5902617 -0.3236272
## sample estimates:
## mean in group não mean in group sim 
##          29.00000          30.45694
dados_psm <- mutate(dados_psm, faixa_et = ifelse(NU_IDADE_N <= 19,"<20", ifelse(NU_IDADE_N >= 20 & NU_IDADE_N < 34,"20-34",">=35")))

dados_psm$faixa_et <- factor(dados_psm$faixa_et, 
                     levels = c("<20", "20-34", ">=35"))
ctable(dados_psm$gest_puerp,  dados_psm$faixa_et, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * faixa_et  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ------------- ---------------
##                faixa_et           <20         20-34          >=35           Total
##   gest_puerp                                                                     
##          não               74 (20.6%)   152 (42.2%)   134 (37.2%)    360 (100.0%)
##        gesta               16 ( 4.4%)   223 (61.9%)   121 (33.6%)    360 (100.0%)
##        puerp               25 ( 6.9%)   209 (58.1%)   126 (35.0%)    360 (100.0%)
##        Total              115 (10.6%)   584 (54.1%)   381 (35.3%)   1080 (100.0%)
## ------------ ---------- ------------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     66.04      4       0    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$faixa_et, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * faixa_et  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ------------- ---------------
##                    faixa_et           <20         20-34          >=35           Total
##   gesta_puerp_SN                                                                     
##              não               74 (20.6%)   152 (42.2%)   134 (37.2%)    360 (100.0%)
##              sim               41 ( 5.7%)   432 (60.0%)   247 (34.3%)    720 (100.0%)
##            Total              115 (10.6%)   584 (54.1%)   381 (35.3%)   1080 (100.0%)
## ---------------- ---------- ------------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     64.38      2       0    
## ----------------------------

Para histórico de viagem (HISTO_VGM), com categorias 1-sim, 2-não e 9-ignorado. Veja pela tabela abaixo que tem 0, mas não é declarado no dicionário.

kable(questionr::freq(dados_psm$HISTO_VGM, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para histórico de viagem",digits = 2)
Tabela de frequências para histórico de viagem
n %
0 44 4.1
2 951 88.1
9 85 7.9
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável hist_viagem, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$hist_viagem <- factor(dados_psm$HISTO_VGM, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$hist_viagem, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * hist_viagem  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------- ---------- -------------- --------------
##                hist_viagem        sim            não          Total
##   gest_puerp                                                       
##          não                 0 (0.0%)   312 (100.0%)   312 (100.0%)
##        gesta                 0 (0.0%)   317 (100.0%)   317 (100.0%)
##        puerp                 0 (0.0%)   322 (100.0%)   322 (100.0%)
##        Total                 0 (0.0%)   951 (100.0%)   951 (100.0%)
## ------------ ------------- ---------- -------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      NA        2      NA    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$hist_viagem, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * hist_viagem  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------- ---------- -------------- --------------
##                    hist_viagem        sim            não          Total
##   gesta_puerp_SN                                                       
##              não                 0 (0.0%)   312 (100.0%)   312 (100.0%)
##              sim                 0 (0.0%)   639 (100.0%)   639 (100.0%)
##            Total                 0 (0.0%)   951 (100.0%)   951 (100.0%)
## ---------------- ------------- ---------- -------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      NA        1      NA    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     NaN         NaN        NaN    
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     NaN         NaN       NaN   
## --------------------------------

Para indicador de caso proveniente de surto de SG que evoluiu para SRAG (SURTO_SG), as categorias são: 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$SURTO_SG, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para SG evoluído para SRAG",digits = 2)
Tabela de frequências para SG evoluído para SRAG
n %
1 229 21.2
2 735 68.1
9 72 6.7
NA 44 4.1
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável SG_para_SRAG, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$SG_para_SRAG <- factor(dados_psm$SURTO_SG, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$SG_para_SRAG, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * SG_para_SRAG  
## Data Frame: dados_psm  
## 
## 
## ------------ -------------- ------------- ------------- --------------
##                SG_para_SRAG           sim           não          Total
##   gest_puerp                                                          
##          não                   81 (25.2%)   241 (74.8%)   322 (100.0%)
##        gesta                   70 (22.2%)   245 (77.8%)   315 (100.0%)
##        puerp                   78 (23.9%)   249 (76.1%)   327 (100.0%)
##        Total                  229 (23.8%)   735 (76.2%)   964 (100.0%)
## ------------ -------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.7589      2    0.6842  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$SG_para_SRAG, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * SG_para_SRAG  
## Data Frame: dados_psm  
## 
## 
## ---------------- -------------- ------------- ------------- --------------
##                    SG_para_SRAG           sim           não          Total
##   gesta_puerp_SN                                                          
##              não                   81 (25.2%)   241 (74.8%)   322 (100.0%)
##              sim                  148 (23.1%)   494 (76.9%)   642 (100.0%)
##            Total                  229 (23.8%)   735 (76.2%)   964 (100.0%)
## ---------------- -------------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.4137      1    0.5201  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.12        0.82       1.53   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.09       1.09      1.09   
## --------------------------------

Para indicador de caso proveniente de infecção adquirida no hospital (NOSOCOMIAL), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$NOSOCOMIAL, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para infecção adquirida no hospital",digits = 2)
Tabela de frequências para infecção adquirida no hospital
n %
1 41 3.8
2 884 81.9
9 71 6.6
NA 84 7.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável inf_inter, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$inf_inter <- factor(dados_psm$NOSOCOMIAL, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$inf_inter, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * inf_inter  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ----------- ------------- --------------
##                inf_inter         sim           não          Total
##   gest_puerp                                                     
##          não               20 (6.5%)   286 (93.5%)   306 (100.0%)
##        gesta                4 (1.3%)   299 (98.7%)   303 (100.0%)
##        puerp               17 (5.4%)   299 (94.6%)   316 (100.0%)
##        Total               41 (4.4%)   884 (95.6%)   925 (100.0%)
## ------------ ----------- ----------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.79      2    0.0045  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$inf_inter)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   286  20   306
##   gesta 299   4   303
##   puerp 299  17   316
##   Total 884  41   925
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower     upper
##   não   1.0000000         NA        NA
##   gesta 0.1977019 0.05549966 0.5344599
##   puerp 0.8144180 0.41180960 1.5928694
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact  chi.square
##   não             NA           NA          NA
##   gesta 0.0007969156  0.001255401 0.001938784
##   puerp 0.5481146800  0.612350325 0.659986267
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 299   4   303
##   puerp 299  17   316
##   Total 598  21   619
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower    upper
##   gesta 1.000000       NA       NA
##   puerp 4.119239 1.489206 14.84431
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact chi.square
##   gesta          NA           NA         NA
##   puerp 0.005055574  0.006528257 0.01026281
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$inf_inter, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * inf_inter  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ----------- ------------- --------------
##                    inf_inter         sim           não          Total
##   gesta_puerp_SN                                                     
##              não               20 (6.5%)   286 (93.5%)   306 (100.0%)
##              sim               21 (3.4%)   598 (96.6%)   619 (100.0%)
##            Total               41 (4.4%)   884 (95.6%)   925 (100.0%)
## ---------------- ----------- ----------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.063      1    0.0438  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.99        1.06       3.73   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.93       1.93      1.93   
## --------------------------------

Para indicador de caso com contato com ave ou suíno (AVE_SUINO), as categorias são 1-sim, 2-não e 9-ignorado. Tem valor 3 não especificado.

kable(questionr::freq(dados_psm$AVE_SUINO, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para infecção adquirida no hospital",digits = 2)
Tabela de frequências para infecção adquirida no hospital
n %
1 6 0.6
2 890 82.4
9 132 12.2
NA 52 4.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável cont_ave_suino, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$cont_ave_suino <- factor(dados_psm$AVE_SUINO, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$cont_ave_suino, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * cont_ave_suino  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------------- ---------- -------------- --------------
##                cont_ave_suino        sim            não          Total
##   gest_puerp                                                          
##          não                    3 (1.0%)   293 ( 99.0%)   296 (100.0%)
##        gesta                    3 (1.0%)   296 ( 99.0%)   299 (100.0%)
##        puerp                    0 (0.0%)   301 (100.0%)   301 (100.0%)
##        Total                    6 (0.7%)   890 ( 99.3%)   896 (100.0%)
## ------------ ---------------- ---------- -------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     3.056      2     0.217  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$cont_ave_suino, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * cont_ave_suino  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------------- ---------- ------------- --------------
##                    cont_ave_suino        sim           não          Total
##   gesta_puerp_SN                                                         
##              não                    3 (1.0%)   293 (99.0%)   296 (100.0%)
##              sim                    3 (0.5%)   597 (99.5%)   600 (100.0%)
##            Total                    6 (0.7%)   890 (99.3%)   896 (100.0%)
## ---------------- ---------------- ---------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.2034      1     0.652  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     2.04        0.41      10.16   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     2.03       2.03      2.03   
## --------------------------------

Agora a distribuição por estado:

ctable(dados_psm$SG_UF,  dados_psm$gesta_puerp_SN, prop="c")
## Cross-Tabulation, Column Proportions  
## SG_UF * gesta_puerp_SN  
## Data Frame: dados_psm  
## 
## ------- ---------------- -------------- -------------- ---------------
##           gesta_puerp_SN            não            sim           Total
##   SG_UF                                                               
##      AC                      1 (  0.3%)     1 (  0.1%)      2 (  0.2%)
##      AL                      2 (  0.6%)     4 (  0.6%)      6 (  0.6%)
##      AM                     15 (  4.2%)    34 (  4.7%)     49 (  4.5%)
##      BA                     19 (  5.3%)    43 (  6.0%)     62 (  5.7%)
##      CE                     21 (  5.8%)    51 (  7.1%)     72 (  6.7%)
##      DF                      6 (  1.7%)    26 (  3.6%)     32 (  3.0%)
##      ES                      0 (  0.0%)     2 (  0.3%)      2 (  0.2%)
##      GO                      5 (  1.4%)    19 (  2.6%)     24 (  2.2%)
##      MA                      3 (  0.8%)     9 (  1.2%)     12 (  1.1%)
##      MG                     28 (  7.8%)    52 (  7.2%)     80 (  7.4%)
##      MS                      5 (  1.4%)     8 (  1.1%)     13 (  1.2%)
##      MT                     12 (  3.3%)    18 (  2.5%)     30 (  2.8%)
##      PA                      9 (  2.5%)    10 (  1.4%)     19 (  1.8%)
##      PB                      8 (  2.2%)    28 (  3.9%)     36 (  3.3%)
##      PE                     19 (  5.3%)    43 (  6.0%)     62 (  5.7%)
##      PI                      4 (  1.1%)     2 (  0.3%)      6 (  0.6%)
##      PR                     16 (  4.4%)    40 (  5.6%)     56 (  5.2%)
##      RJ                     16 (  4.4%)    35 (  4.9%)     51 (  4.7%)
##      RN                      3 (  0.8%)    14 (  1.9%)     17 (  1.6%)
##      RR                      2 (  0.6%)     2 (  0.3%)      4 (  0.4%)
##      RS                     20 (  5.6%)    36 (  5.0%)     56 (  5.2%)
##      SC                     21 (  5.8%)    30 (  4.2%)     51 (  4.7%)
##      SE                      0 (  0.0%)     2 (  0.3%)      2 (  0.2%)
##      SP                    121 ( 33.6%)   202 ( 28.1%)    323 ( 29.9%)
##      TO                      4 (  1.1%)     9 (  1.2%)     13 (  1.2%)
##   Total                    360 (100.0%)   720 (100.0%)   1080 (100.0%)
## ------- ---------------- -------------- -------------- ---------------

Vamos agora juntar os estados nas regiões.

regions <- function(state){
  southeast <- c("SP", "RJ", "ES", "MG")
  south <- c("PR", "SC", "RS")
  central <- c("GO", "MT", "MS", "DF")
  northeast <- c("AL", "BA", "CE", "MA", "PB", "PE", "PI", "RN", "SE")
  north <- c("AC", "AP", "AM", "PA", "RO", "RR", "TO")
  out <- 
    ifelse(any(state == southeast),
           "southeast", 
           ifelse(any(state == south), 
                  "south", 
                  ifelse(any(state == central), 
                         "central", 
                         ifelse(any(state == northeast), 
                                "northeast", "north")
                         )
                  )
           )
  return(out)
}

dados_psm$region <- sapply(dados_psm$SG_UF, regions)
dados_psm$region <- ifelse(is.na(dados_psm$region)==TRUE, 0, dados_psm$region)
kable(questionr::freq(dados_psm$region, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para região do país",digits = 2)
Tabela de frequências para região do país
n %
central 99 9.2
north 87 8.1
northeast 275 25.5
south 163 15.1
southeast 456 42.2
Total 1080 100.0

Variáveis de sintomas

Para indicador de caso com febre (FEBRE), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$FEBRE, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de febre",digits = 2)
Tabela de frequências para indicador de febre
n %
1 681 63.1
2 392 36.3
9 2 0.2
NA 5 0.5
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável febre, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$febre <- factor(dados_psm$FEBRE, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$febre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * febre  
## Data Frame: dados_psm  
## 
## 
## ------------ ------- ------------- ------------- ---------------
##                febre           sim           não           Total
##   gest_puerp                                                    
##          não           248 (69.5%)   109 (30.5%)    357 (100.0%)
##        gesta           235 (65.8%)   122 (34.2%)    357 (100.0%)
##        puerp           198 (55.2%)   161 (44.8%)    359 (100.0%)
##        Total           681 (63.5%)   392 (36.5%)   1073 (100.0%)
## ------------ ------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     17.1       2     2e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$febre)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   109 248   357
##   gesta 122 235   357
##   puerp 161 198   359
##   Total 392 681  1073
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.8469061 0.6180435 1.1594312
##   puerp 0.5411951 0.3974983 0.7346938
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 0.2999003704 3.370858e-01 0.3370779506
##   puerp 0.0000785991 8.341254e-05 0.0001068709
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 122 235   357
##   puerp 161 198   359
##   Total 283 433   716
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.6390251 0.4718391 0.8637316
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   gesta          NA           NA          NA
##   puerp 0.003552523  0.003702932 0.004450963
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$febre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * febre  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------- ------------- ------------- ---------------
##                    febre           sim           não           Total
##   gesta_puerp_SN                                                    
##              não           248 (69.5%)   109 (30.5%)    357 (100.0%)
##              sim           433 (60.5%)   283 (39.5%)    716 (100.0%)
##            Total           681 (63.5%)   392 (36.5%)   1073 (100.0%)
## ---------------- ------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     7.926      1    0.0049  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.49        1.13       1.95   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.15       1.15      1.15   
## --------------------------------

O indicador de caso com tosse (TOSSE) tem as categorias 1-sim, 2-não e 9-ignorado.

kable(
  questionr::freq(
    dados_psm$TOSSE,
    cum = FALSE,
    total = TRUE,
    na.last = FALSE,
    valid = FALSE
  ),
  caption = "Tabela de frequências para indicador de tosse",
  digits = 2
)
Tabela de frequências para indicador de tosse
n %
1 735 68.1
2 337 31.2
9 3 0.3
NA 5 0.5
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável tosse, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$tosse <- factor(dados_psm$TOSSE, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$tosse, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * tosse  
## Data Frame: dados_psm  
## 
## 
## ------------ ------- ------------- ------------- ---------------
##                tosse           sim           não           Total
##   gest_puerp                                                    
##          não           248 (69.3%)   110 (30.7%)    358 (100.0%)
##        gesta           263 (73.7%)    94 (26.3%)    357 (100.0%)
##        puerp           224 (62.7%)   133 (37.3%)    357 (100.0%)
##        Total           735 (68.6%)   337 (31.4%)   1072 (100.0%)
## ------------ ------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.01      2    0.0067  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$tosse)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   110 248   358
##   gesta  94 263   357
##   puerp 133 224   357
##   Total 337 735  1072
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 1.2403973 0.8958732 1.719893
##   puerp 0.7474892 0.5472220 1.019514
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.19455299   0.21420758 0.22297717
##   puerp 0.06609346   0.06964635 0.07775853
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  94 263   357
##   puerp 133 224   357
##   Total 227 487   714
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.6026297 0.4372609 0.8280147
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   gesta          NA           NA          NA
##   puerp 0.001751604  0.002222795 0.002258848
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$tosse, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * tosse  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------- ------------- ------------- ---------------
##                    tosse           sim           não           Total
##   gesta_puerp_SN                                                    
##              não           248 (69.3%)   110 (30.7%)    358 (100.0%)
##              sim           487 (68.2%)   227 (31.8%)    714 (100.0%)
##            Total           735 (68.6%)   337 (31.4%)   1072 (100.0%)
## ---------------- ------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0812      1    0.7757  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.05        0.80       1.38   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.02       1.02      1.02   
## --------------------------------

Para indicador de caso com dor de garganta (GARGANTA), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$GARGANTA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de dor de garganta",digits = 2)
Tabela de frequências para indicador de dor de garganta
n %
1 235 21.8
2 812 75.2
9 7 0.6
NA 26 2.4
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável garganta, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$garganta <- factor(dados_psm$GARGANTA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$garganta, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * garganta  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                garganta           sim           não           Total
##   gest_puerp                                                       
##          não               77 (22.1%)   271 (77.9%)    348 (100.0%)
##        gesta               76 (21.8%)   273 (78.2%)    349 (100.0%)
##        puerp               82 (23.4%)   268 (76.6%)    350 (100.0%)
##        Total              235 (22.4%)   812 (77.6%)   1047 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.3044      2    0.8588  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$garganta)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   271  77   348
##   gesta 273  76   349
##   puerp 268  82   350
##   Total 812 235  1047
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.9798526 0.6836712 1.404031
##   puerp 1.0766306 0.7552538 1.535996
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.9115215    0.9272959  0.9839734
##   puerp  0.6830453    0.7184114  0.7490628
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 273  76   349
##   puerp 268  82   350
##   Total 541 158   699
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.098767 0.7702655 1.568955
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.6031532     0.651315  0.6659531
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$garganta, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * garganta  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    garganta           sim           não           Total
##   gesta_puerp_SN                                                       
##              não               77 (22.1%)   271 (77.9%)    348 (100.0%)
##              sim              158 (22.6%)   541 (77.4%)    699 (100.0%)
##            Total              235 (22.4%)   812 (77.6%)   1047 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0092      1    0.9237  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.97        0.71       1.33   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.98       0.98      0.98   
## --------------------------------

Para indicador de caso com dispneia (DISPNEIA), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$DISPNEIA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de dispneia",digits = 2)
Tabela de frequências para indicador de dispneia
n %
1 622 57.6
2 446 41.3
9 3 0.3
NA 9 0.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável dispneia, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$dispneia <- factor(dados_psm$DISPNEIA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$dispneia, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * dispneia  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                dispneia           sim           não           Total
##   gest_puerp                                                       
##          não              255 (71.2%)   103 (28.8%)    358 (100.0%)
##        gesta              187 (52.7%)   168 (47.3%)    355 (100.0%)
##        puerp              180 (50.7%)   175 (49.3%)    355 (100.0%)
##        Total              622 (58.2%)   446 (41.8%)   1068 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     37.64      2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$dispneia)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   103 255   358
##   gesta 168 187   355
##   puerp 175 180   355
##   Total 446 622  1068
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.4503429 0.3296817 0.6128655
##   puerp 0.4161764 0.3047258 0.5662252
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 3.290024e-07 3.406451e-07 5.014269e-07
##   puerp 1.846195e-08 1.929828e-08 2.996910e-08
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 168 187   355
##   puerp 175 180   355
##   Total 343 367   710
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.9242062 0.6880584 1.241008
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.6001487     0.652302   0.652271
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$dispneia, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * dispneia  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    dispneia           sim           não           Total
##   gesta_puerp_SN                                                       
##              não              255 (71.2%)   103 (28.8%)    358 (100.0%)
##              sim              367 (51.7%)   343 (48.3%)    710 (100.0%)
##            Total              622 (58.2%)   446 (41.8%)   1068 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     36.56      1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     2.31        1.76       3.04   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.38       1.38      1.38   
## --------------------------------

Para indicador de caso com desconforto respiratório (DESC_RESP), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$DESC_RESP, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de dispneia",digits = 2)
Tabela de frequências para indicador de dispneia
n %
1 556 51.5
2 516 47.8
9 2 0.2
NA 6 0.6
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável desc_resp, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$desc_resp <- factor(dados_psm$DESC_RESP, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$desc_resp, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * desc_resp  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- ---------------
##                desc_resp           sim           não           Total
##   gest_puerp                                                        
##          não               216 (60.0%)   144 (40.0%)    360 (100.0%)
##        gesta               164 (45.9%)   193 (54.1%)    357 (100.0%)
##        puerp               176 (49.6%)   179 (50.4%)    355 (100.0%)
##        Total               556 (51.9%)   516 (48.1%)   1072 (100.0%)
## ------------ ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     15.31      2     5e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$desc_resp)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   144 216   360
##   gesta 193 164   357
##   puerp 179 176   355
##   Total 516 556  1072
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.5671112 0.4210637 0.7622192
##   puerp 0.6560256 0.4872276 0.8818987
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 0.0001649974  0.000181525 0.0002179986
##   puerp 0.0052018747  0.005462241 0.0064343581
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 193 164   357
##   puerp 179 176   355
##   Total 372 340   712
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.156814 0.8617153 1.553719
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.3324093    0.3679473    0.36973
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$desc_resp, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * desc_resp  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- ---------------
##                    desc_resp           sim           não           Total
##   gesta_puerp_SN                                                        
##              não               216 (60.0%)   144 (40.0%)    360 (100.0%)
##              sim               340 (47.8%)   372 (52.2%)    712 (100.0%)
##            Total               556 (51.9%)   516 (48.1%)   1072 (100.0%)
## ---------------- ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     13.88      1     2e-04  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.64        1.27       2.12   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.26       1.26      1.26   
## --------------------------------

Para indicador de caso com saturação (SATURACAO), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$SATURACAO, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de saturação",digits = 2)
Tabela de frequências para indicador de saturação
n %
1 420 38.9
2 638 59.1
9 4 0.4
NA 18 1.7
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável saturacao, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$saturacao <- factor(dados_psm$SATURACAO, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$saturacao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * saturacao  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- ---------------
##                saturacao           sim           não           Total
##   gest_puerp                                                        
##          não               185 (52.0%)   171 (48.0%)    356 (100.0%)
##        gesta                94 (26.5%)   261 (73.5%)    355 (100.0%)
##        puerp               141 (40.6%)   206 (59.4%)    347 (100.0%)
##        Total               420 (39.7%)   638 (60.3%)   1058 (100.0%)
## ------------ ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     48.42      2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$saturacao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   171 185   356
##   gesta 261  94   355
##   puerp 206 141   347
##   Total 638 420  1058
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.3336613 0.2428934 0.4559757
##   puerp 0.6332309 0.4691671 0.8531781
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 2.810863e-12 3.497361e-12 5.887759e-12
##   puerp 2.639187e-03 3.153648e-03 3.317106e-03
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 261  94   355
##   puerp 206 141   347
##   Total 467 235   702
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower    upper
##   gesta 1.000000       NA       NA
##   puerp 1.897883 1.381705 2.615883
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   gesta           NA           NA           NA
##   puerp 7.193238e-05 8.569806e-05 9.881736e-05
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$saturacao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * saturacao  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- ---------------
##                    saturacao           sim           não           Total
##   gesta_puerp_SN                                                        
##              não               185 (52.0%)   171 (48.0%)    356 (100.0%)
##              sim               235 (33.5%)   467 (66.5%)    702 (100.0%)
##            Total               420 (39.7%)   638 (60.3%)   1058 (100.0%)
## ---------------- ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     32.97      1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     2.15        1.66       2.79   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.55       1.55      1.55   
## --------------------------------

Para indicador de caso com diarréia (DIARREIA), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$DIARREIA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de diarréia",digits = 2)
Tabela de frequências para indicador de diarréia
n %
1 139 12.9
2 920 85.2
9 5 0.5
NA 16 1.5
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável diarreia, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$diarreia <- factor(dados_psm$DIARREIA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$diarreia, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * diarreia  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                diarreia           sim           não           Total
##   gest_puerp                                                       
##          não               58 (16.4%)   296 (83.6%)    354 (100.0%)
##        gesta               41 (11.6%)   313 (88.4%)    354 (100.0%)
##        puerp               40 (11.4%)   311 (88.6%)    351 (100.0%)
##        Total              139 (13.1%)   920 (86.9%)   1059 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.957      2    0.0839  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$diarreia)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   296  58   354
##   gesta 313  41   354
##   puerp 311  40   351
##   Total 920 139  1059
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.6695665 0.4326948 1.027764
##   puerp 0.6575122 0.4235466 1.011794
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.06662900   0.08255936 0.08294552
##   puerp 0.05660135   0.06407556 0.07102497
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 313  41   354
##   puerp 311  40   351
##   Total 624  81   705
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.9819711 0.6160653 1.564227
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.9388846            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$diarreia, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * diarreia  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    diarreia           sim           não           Total
##   gesta_puerp_SN                                                       
##              não               58 (16.4%)   296 (83.6%)    354 (100.0%)
##              sim               81 (11.5%)   624 (88.5%)    705 (100.0%)
##            Total              139 (13.1%)   920 (86.9%)   1059 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.532      1    0.0333  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.51        1.05       2.17   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.43       1.43      1.43   
## --------------------------------

Para indicador de caso com vômito (VOMITO), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$VOMITO, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de vômito",digits = 2)
Tabela de frequências para indicador de vômito
n %
1 119 11.0
2 937 86.8
9 6 0.6
NA 18 1.7
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável vomito, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$vomito <- factor(dados_psm$VOMITO, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$vomito, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * vomito  
## Data Frame: dados_psm  
## 
## 
## ------------ -------- ------------- ------------- ---------------
##                vomito           sim           não           Total
##   gest_puerp                                                     
##          não             53 (15.0%)   301 (85.0%)    354 (100.0%)
##        gesta             36 (10.2%)   316 (89.8%)    352 (100.0%)
##        puerp             30 ( 8.6%)   320 (91.4%)    350 (100.0%)
##        Total            119 (11.3%)   937 (88.7%)   1056 (100.0%)
## ------------ -------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     7.783      2    0.0204  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$vomito)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   301  53   354
##   gesta 316  36   352
##   puerp 320  30   350
##   Total 937 119  1056
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.6482364 0.4094050 1.0159480
##   puerp 0.5340285 0.3283874 0.8539253
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.05868198  0.069300700 0.07416118
##   puerp 0.00858187  0.009913753 0.01186761
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 316  36   352
##   puerp 320  30   350
##   Total 636  66   702
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.8238402 0.4916533 1.371268
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.4562767    0.5182763  0.5337517
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$vomito, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * vomito  
## Data Frame: dados_psm  
## 
## 
## ---------------- -------- ------------- ------------- ---------------
##                    vomito           sim           não           Total
##   gesta_puerp_SN                                                     
##              não             53 (15.0%)   301 (85.0%)    354 (100.0%)
##              sim             66 ( 9.4%)   636 (90.6%)    702 (100.0%)
##            Total            119 (11.3%)   937 (88.7%)   1056 (100.0%)
## ---------------- -------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     6.755      1    0.0093  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.70        1.15       2.50   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.59       1.59      1.59   
## --------------------------------

Para indicador de caso com dor abdominal (DOR_ABD), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$DOR_ABD, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de vômito",digits = 2)
Tabela de frequências para indicador de vômito
n %
1 43 4.0
2 485 44.9
9 8 0.7
NA 544 50.4
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável dor_abd, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$dor_abd <- factor(dados_psm$DOR_ABD, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$dor_abd, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * dor_abd  
## Data Frame: dados_psm  
## 
## 
## ------------ --------- ----------- ------------- --------------
##                dor_abd         sim           não          Total
##   gest_puerp                                                   
##          não             15 (7.5%)   185 (92.5%)   200 (100.0%)
##        gesta             15 (9.3%)   146 (90.7%)   161 (100.0%)
##        puerp             13 (7.8%)   154 (92.2%)   167 (100.0%)
##        Total             43 (8.1%)   485 (91.9%)   528 (100.0%)
## ------------ --------- ----------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.4358      2    0.8042  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$dor_abd)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   185  15   200
##   gesta 146  15   161
##   puerp 154  13   167
##   Total 485  43   528
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.266262 0.5916813 2.710453
##   puerp 1.042581 0.4713234 2.277234
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta   0.539875     0.568882  0.6673389
##   puerp   0.916555     1.000000  1.0000000
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 146  15   161
##   puerp 154  13   167
##   Total 300  28   328
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.8233939 0.3708862 1.804742
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.6263834    0.6945419  0.7650416
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$dor_abd, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * dor_abd  
## Data Frame: dados_psm  
## 
## 
## ---------------- --------- ----------- ------------- --------------
##                    dor_abd         sim           não          Total
##   gesta_puerp_SN                                                   
##              não             15 (7.5%)   185 (92.5%)   200 (100.0%)
##              sim             28 (8.5%)   300 (91.5%)   328 (100.0%)
##            Total             43 (8.1%)   485 (91.9%)   528 (100.0%)
## ---------------- --------- ----------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0668      1    0.7961  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.87        0.45       1.67   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.88       0.88      0.88   
## --------------------------------

Para indicador de caso com fadiga (FADIGA), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$FADIGA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de fadiga",digits = 2)
Tabela de frequências para indicador de fadiga
n %
1 93 8.6
2 440 40.7
9 7 0.6
NA 540 50.0
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável fadiga, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$fadiga <- factor(dados_psm$FADIGA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$fadiga, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * fadiga  
## Data Frame: dados_psm  
## 
## 
## ------------ -------- ------------ ------------- --------------
##                fadiga          sim           não          Total
##   gest_puerp                                                   
##          não            36 (17.8%)   166 (82.2%)   202 (100.0%)
##        gesta            29 (18.0%)   132 (82.0%)   161 (100.0%)
##        puerp            28 (16.5%)   142 (83.5%)   170 (100.0%)
##        Total            93 (17.4%)   440 (82.6%)   533 (100.0%)
## ------------ -------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     0.168      2    0.9195  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$fadiga)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   166  36   202
##   gesta 132  29   161
##   puerp 142  28   170
##   Total 440  93   533
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.013897 0.5865244 1.740547
##   puerp 0.910421 0.5249207 1.565775
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.9602536      1.00000  1.0000000
##   puerp  0.7352061      0.78353  0.8367229
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 132  29   161
##   puerp 142  28   170
##   Total 274  57   331
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.8979798 0.5046121 1.595659
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.7129796     0.771498  0.8214268
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$fadiga, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * fadiga  
## Data Frame: dados_psm  
## 
## 
## ---------------- -------- ------------ ------------- --------------
##                    fadiga          sim           não          Total
##   gesta_puerp_SN                                                   
##              não            36 (17.8%)   166 (82.2%)   202 (100.0%)
##              sim            57 (17.2%)   274 (82.8%)   331 (100.0%)
##            Total            93 (17.4%)   440 (82.6%)   533 (100.0%)
## ---------------- -------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0036      1    0.9523  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.04        0.66       1.65   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.03       1.03      1.03   
## --------------------------------

Para indicador de caso com perda olfativa (PERD_OLFT), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$PERD_OLFT, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de perda olfativa",digits = 2)
Tabela de frequências para indicador de perda olfativa
n %
1 86 8.0
2 448 41.5
9 8 0.7
NA 538 49.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável perd_olft, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$perd_olft <- factor(dados_psm$PERD_OLFT, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$perd_olft, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * perd_olft  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------ ------------- --------------
##                perd_olft          sim           não          Total
##   gest_puerp                                                      
##          não               20 ( 9.9%)   182 (90.1%)   202 (100.0%)
##        gesta               41 (25.3%)   121 (74.7%)   162 (100.0%)
##        puerp               25 (14.7%)   145 (85.3%)   170 (100.0%)
##        Total               86 (16.1%)   448 (83.9%)   534 (100.0%)
## ------------ ----------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.16      2     3e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$perd_olft)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   182  20   202
##   gesta 121  41   162
##   puerp 145  25   170
##   Total 448  86   534
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 3.062670 1.7273794 5.590548
##   puerp 1.564741 0.8347346 2.968356
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 0.0001052678  0.000117245 0.0001630989
##   puerp 0.1625181583  0.201346403 0.2090712732
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 121  41   162
##   puerp 145  25   170
##   Total 266  66   332
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.5109604 0.2902321 0.8843397
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp 0.01624363   0.01911777 0.02248234
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$perd_olft, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * perd_olft  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------ ------------- --------------
##                    perd_olft          sim           não          Total
##   gesta_puerp_SN                                                      
##              não               20 ( 9.9%)   182 (90.1%)   202 (100.0%)
##              sim               66 (19.9%)   266 (80.1%)   332 (100.0%)
##            Total               86 (16.1%)   448 (83.9%)   534 (100.0%)
## ---------------- ----------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     8.531      1    0.0035  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.44        0.26       0.76   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.50       0.50      0.50   
## --------------------------------

Para indicador de caso com perda do paladar (PERD_PALA), as categorias são 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$PERD_PALA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de perda do paladar",digits = 2)
Tabela de frequências para indicador de perda do paladar
n %
1 82 7.6
2 452 41.9
9 8 0.7
NA 538 49.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável perd_pala, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$perd_pala <- factor(dados_psm$PERD_PALA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$perd_pala, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * perd_pala  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------ ------------- --------------
##                perd_pala          sim           não          Total
##   gest_puerp                                                      
##          não               22 (10.9%)   180 (89.1%)   202 (100.0%)
##        gesta               36 (22.2%)   126 (77.8%)   162 (100.0%)
##        puerp               24 (14.1%)   146 (85.9%)   170 (100.0%)
##        Total               82 (15.4%)   452 (84.6%)   534 (100.0%)
## ------------ ----------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     9.175      2    0.0102  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$perd_pala)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   180  22   202
##   gesta 126  36   162
##   puerp 146  24   170
##   Total 452  82   534
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 2.326285 1.3125876 4.207044
##   puerp 1.343117 0.7204971 2.515368
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   não            NA           NA          NA
##   gesta 0.003714121   0.00389337 0.005247742
##   puerp 0.352160810   0.34888329 0.433253566
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 126  36   162
##   puerp 146  24   170
##   Total 272  60   332
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.5774009 0.3228626 1.016836
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp 0.05719449   0.06386506 0.07579066
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$perd_pala, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * perd_pala  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------ ------------- --------------
##                    perd_pala          sim           não          Total
##   gesta_puerp_SN                                                      
##              não               22 (10.9%)   180 (89.1%)   202 (100.0%)
##              sim               60 (18.1%)   272 (81.9%)   332 (100.0%)
##            Total               82 (15.4%)   452 (84.6%)   534 (100.0%)
## ---------------- ----------- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.446      1     0.035  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.55        0.33       0.94   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.60       0.60      0.60   
## --------------------------------

Agora vamos analisar a varíavel de número de comorbidades. Consideramos como comorbidades: “FEBRE”, “TOSSE”, “GARGANTA”, “DISPNEIA”, “DESC_RESP”, “SATURACAO”, “DIARREIA”, “VOMITO”, “DOR_ABD”, “FADIGA”, “PERD_OLFT”, “PERD_PALA”.

n media DP mediana minimo maximo
gest_puerp não 190.00 4.04 1.96 4.00 0.00 10.00
gesta 156.00 3.53 2.13 3.00 0.00 10.00
puerp 159.00 3.33 2.41 3.00 0.00 12.00
gesta_puerp_SN não 190.00 4.04 1.96 4.00 0.00 10.00
sim 315.00 3.43 2.28 3.00 0.00 12.00
ctable(dados_psm$gest_puerp,  dados_psm$gr_sintomas, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * gr_sintomas  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------- ------------ ------------- ------------- --------------
##                gr_sintomas       nenhum        1 ou 2            >2          Total
##   gest_puerp                                                                      
##          não                  3 ( 1.6%)    39 (20.5%)   148 (77.9%)   190 (100.0%)
##        gesta                 11 ( 7.1%)    39 (25.0%)   106 (67.9%)   156 (100.0%)
##        puerp                 18 (11.3%)    44 (27.7%)    97 (61.0%)   159 (100.0%)
##        Total                 32 ( 6.3%)   122 (24.2%)   351 (69.5%)   505 (100.0%)
## ------------ ------------- ------------ ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     18.67      4     9e-04  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$gr_sintomas, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * gr_sintomas  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------- ----------- ------------- ------------- --------------
##                    gr_sintomas      nenhum        1 ou 2            >2          Total
##   gesta_puerp_SN                                                                     
##              não                  3 (1.6%)    39 (20.5%)   148 (77.9%)   190 (100.0%)
##              sim                 29 (9.2%)    83 (26.3%)   203 (64.4%)   315 (100.0%)
##            Total                 32 (6.3%)   122 (24.2%)   351 (69.5%)   505 (100.0%)
## ---------------- ------------- ----------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     15.63      2     4e-04  
## ----------------------------

Vamos agora analisar a variável SARI, dada se febre e tosse ou garganta e desc_resp ou dispneia ou saturação. SARI sem febre é o mesmo que SARI, exceção pelo fato de não considerar febre.

ctable(dados_psm$gest_puerp,  dados_psm$sari, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * sari  
## Data Frame: dados_psm  
## 
## 
## ------------ ------ ------------- ------------- ---------------
##                sari           sim           não           Total
##   gest_puerp                                                   
##          não          176 (49.3%)   181 (50.7%)    357 (100.0%)
##        gesta          157 (44.2%)   198 (55.8%)    355 (100.0%)
##        puerp          118 (33.1%)   238 (66.9%)    356 (100.0%)
##        Total          451 (42.2%)   617 (57.8%)   1068 (100.0%)
## ------------ ------ ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     19.93      2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$sari)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   181 176   357
##   gesta 198 157   355
##   puerp 238 118   356
##   Total 617 451  1068
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.8157683 0.6069727 1.0955514
##   puerp 0.5105881 0.3764190 0.6905528
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 1.760044e-01 1.774048e-01 0.1999376638
##   puerp 1.190562e-05 1.395043e-05 0.0000166888
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 198 157   355
##   puerp 238 118   356
##   Total 436 275   711
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.6258597 0.4609591 0.8479812
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   gesta          NA           NA          NA
##   puerp 0.002465418  0.002670474 0.003116373
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$sari, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * sari  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------ ------------- ------------- ---------------
##                    sari           sim           não           Total
##   gesta_puerp_SN                                                   
##              não          176 (49.3%)   181 (50.7%)    357 (100.0%)
##              sim          275 (38.7%)   436 (61.3%)    711 (100.0%)
##            Total          451 (42.2%)   617 (57.8%)   1068 (100.0%)
## ---------------- ------ ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.56      1    0.0012  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.54        1.19       1.99   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.27       1.27      1.27   
## --------------------------------

SARI sem febre:

ctable(dados_psm$gest_puerp,  dados_psm$sari_sfebre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * sari_sfebre  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------- ------------- ------------- ---------------
##                sari_sfebre           sim           não           Total
##   gest_puerp                                                          
##          não                 234 (65.2%)   125 (34.8%)    359 (100.0%)
##        gesta                 201 (56.5%)   155 (43.5%)    356 (100.0%)
##        puerp                 168 (47.1%)   189 (52.9%)    357 (100.0%)
##        Total                 603 (56.2%)   469 (43.8%)   1072 (100.0%)
## ------------ ------------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     23.9       2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$sari_sfebre)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   125 234   359
##   gesta 155 201   356
##   puerp 189 168   357
##   Total 469 603  1072
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.6932252 0.5119988 0.9371149
##   puerp 0.4755219 0.3513680 0.6416058
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 1.717048e-02 1.769408e-02 2.078058e-02
##   puerp 1.028035e-06 1.342607e-06 1.502590e-06
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 155 201   356
##   puerp 189 168   357
##   Total 344 369   713
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.6859551 0.5100765 0.9212106
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.0121908   0.01339427 0.01480627
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$sari_sfebre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * sari_sfebre  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------- ------------- ------------- ---------------
##                    sari_sfebre           sim           não           Total
##   gesta_puerp_SN                                                          
##              não                 234 (65.2%)   125 (34.8%)    359 (100.0%)
##              sim                 369 (51.8%)   344 (48.2%)    713 (100.0%)
##            Total                 603 (56.2%)   469 (43.8%)   1072 (100.0%)
## ---------------- ------------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.95      1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.75        1.34       2.27   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.26       1.26      1.26   
## --------------------------------

Para indicador de caso com outros sintomas (OUTRO_SIN), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$OUTRO_SIN, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências para indicador de outros sintomas",digits = 2)
Tabela de frequências para indicador de outros sintomas
n %
1 450 41.7
2 575 53.2
9 7 0.6
NA 48 4.4
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável outro_sin, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$outro_sin <- factor(dados_psm$OUTRO_SIN, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$outro_sin, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * outro_sin  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- ---------------
##                outro_sin           sim           não           Total
##   gest_puerp                                                        
##          não               138 (40.5%)   203 (59.5%)    341 (100.0%)
##        gesta               162 (47.2%)   181 (52.8%)    343 (100.0%)
##        puerp               150 (44.0%)   191 (56.0%)    341 (100.0%)
##        Total               450 (43.9%)   575 (56.1%)   1025 (100.0%)
## ------------ ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     3.175      2    0.2044  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$outro_sin)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   203 138   341
##   gesta 181 162   343
##   puerp 191 150   341
##   Total 575 450  1025
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.315897 0.9721716 1.783119
##   puerp 1.154932 0.8518931 1.566637
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.07557076    0.0769398 0.08825337
##   puerp 0.35366346    0.3937955 0.39377749
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 181 162   343
##   puerp 191 150   341
##   Total 372 312   684
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower   upper
##   gesta 1.0000000        NA      NA
##   puerp 0.8776693 0.6490219 1.18631
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.3960761    0.3995914   0.438685
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$outro_sin, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * outro_sin  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- ---------------
##                    outro_sin           sim           não           Total
##   gesta_puerp_SN                                                        
##              não               138 (40.5%)   203 (59.5%)    341 (100.0%)
##              sim               312 (45.6%)   372 (54.4%)    684 (100.0%)
##            Total               450 (43.9%)   575 (56.1%)   1025 (100.0%)
## ---------------- ----------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.241      1    0.1344  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.81        0.62       1.05   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.89       0.89      0.89   
## --------------------------------

Análise das variáveis de tempo

Tempo entre sintomas e hospitalização (em dias)

# variaveis de tempo
dados_psm <- dados_psm %>% 
  mutate(
    tempo_sintomas_hosp = as.numeric(dt_interna - dt_sint),
    tempo_sintomas_notific = as.numeric(dt_notific - dt_sint)
  ) %>%
  mutate(tempo_sintomas_hosp = case_when(dt_interna=="2021-01-27" ~ NA_real_, TRUE ~ tempo_sintomas_hosp))

  #contar numero de casos que a data dos sintomas é maior que a data da internação
  
  dados_psm %>% count(tempo_sintomas_hosp < 0)

Veja que há casos que internaram antes de apresentar sintomas (tabela acima com TRUE). Vamos selecionar só os casos com data de sintomas anterior a data de internação e fazer medidas descritivas dessa variável por grupo:

dados_psm <- dados_psm %>% 
  mutate(tempo_sintomas_hosp = ifelse(tempo_sintomas_hosp < 0, NA, tempo_sintomas_hosp),
  )
datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_sintomas_hosp*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 352.00 6.06 6.04 5.00 0.00 59.00 2.00 8.00 6.00
gesta 359.00 6.04 8.74 5.00 0.00 95.00 2.00 8.00 6.00
puerp 359.00 4.95 5.06 4.00 0.00 38.00 1.00 7.00 6.00
gesta_puerp_SN não 352.00 6.06 6.04 5.00 0.00 59.00 2.00 8.00 6.00
sim 718.00 5.49 7.16 4.00 0.00 95.00 2.00 8.00 6.00

Comparação de tempo_sintomas_hosp com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_sintomas_hosp ~ gest_puerp,
          data=dados_psm)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_sintomas_hosp by gest_puerp
## Kruskal-Wallis chi-squared = 11.417, df = 2, p-value = 0.003318
pairwise.wilcox.test(dados_psm$tempo_sintomas_hosp, dados_psm$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm$tempo_sintomas_hosp and dados_psm$gest_puerp 
## 
##       não    gesta 
## gesta 0.2522 -     
## puerp 0.0034 0.0441
## 
## P value adjustment method: holm

Comparação da tempo_sintomas_hosp com relação ao gesta_puerp_SN

t.test(tempo_sintomas_hosp ~ gesta_puerp_SN, data=dados_psm, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_sintomas_hosp by gesta_puerp_SN
## t = 1.3508, df = 812.36, p-value = 0.1771
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.2561101  1.3865703
## sample estimates:
## mean in group não mean in group sim 
##          6.059659          5.494429

Tempo entre sintomas e notificação (em dias)

Veja que não há casos que internaram antes da notificação (tabela abaixo com TRUE).

dados_psm %>% count(tempo_sintomas_notific < 0) 

Vamos fazer medidas descritivas dessa variável por grupo:

datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_sintomas_notific*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 360.00 8.45 9.49 7.00 0.00 93.00 3.75 10.00 6.25
gesta 360.00 7.54 9.57 6.00 0.00 95.00 3.00 9.00 6.00
puerp 360.00 7.94 10.38 6.00 0.00 113.00 3.00 10.00 7.00
gesta_puerp_SN não 360.00 8.45 9.49 7.00 0.00 93.00 3.75 10.00 6.25
sim 720.00 7.74 9.98 6.00 0.00 113.00 3.00 9.00 6.00

Comparação de tempo_sintomas_notific com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_sintomas_notific ~ gest_puerp,
          data=dados_psm)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_sintomas_notific by gest_puerp
## Kruskal-Wallis chi-squared = 4.2673, df = 2, p-value = 0.1184
pairwise.wilcox.test(dados_psm$tempo_sintomas_notific, dados_psm$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm$tempo_sintomas_notific and dados_psm$gest_puerp 
## 
##       não  gesta
## gesta 0.14 -    
## puerp 0.27 0.63 
## 
## P value adjustment method: holm

Comparação da tempo_sintomas_notific com relação ao gesta_puerp_SN

t.test(tempo_sintomas_notific ~ gesta_puerp_SN, data=dados_psm, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_sintomas_notific by gesta_puerp_SN
## t = 1.1389, df = 750.96, p-value = 0.2551
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.5135873  1.9330318
## sample estimates:
## mean in group não mean in group sim 
##          8.450000          7.740278

Variáveis de fatores de risco

Para indicador de caso com fator de risco (FATOR_RISC), com categorias S-sim e N-não. No entanto, no dicionário era 1-sim e 2-não.

kable(questionr::freq(dados_psm$FATOR_RISC, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de presença de fator de risco",digits = 2)
Tabela de frequências de presença de fator de risco
n %
S 1080 100
Total 1080 100

Vamos agora rotular essa variável, criando a variável fator_risco, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$fator_risco <- factor(dados_psm$FATOR_RISC, 
                     levels = c("S", "N"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$fator_risco, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * fator_risco  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------- --------------- ---------- ---------------
##                fator_risco             sim        não           Total
##   gest_puerp                                                         
##          não                  360 (100.0%)   0 (0.0%)    360 (100.0%)
##        gesta                  360 (100.0%)   0 (0.0%)    360 (100.0%)
##        puerp                  360 (100.0%)   0 (0.0%)    360 (100.0%)
##        Total                 1080 (100.0%)   0 (0.0%)   1080 (100.0%)
## ------------ ------------- --------------- ---------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      NA        2      NA    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$fator_risco, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * fator_risco  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------- --------------- ---------- ---------------
##                    fator_risco             sim        não           Total
##   gesta_puerp_SN                                                         
##              não                  360 (100.0%)   0 (0.0%)    360 (100.0%)
##              sim                  720 (100.0%)   0 (0.0%)    720 (100.0%)
##            Total                 1080 (100.0%)   0 (0.0%)   1080 (100.0%)
## ---------------- ------------- --------------- ---------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      NA        1      NA    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     NaN         NaN        NaN    
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.00        NaN       NaN   
## --------------------------------

Para indicador de caso com cardiopatia (CARDIOPATI), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$CARDIOPATI, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de cardiopatia",digits = 2)
Tabela de frequências de cardiopatia
n %
1 115 10.6
2 965 89.4
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável cardiopati, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$cardiopati <- factor(dados_psm$CARDIOPATI, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$cardiopati, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * cardiopati  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------ ------------- ------------- ---------------
##                cardiopati           sim           não           Total
##   gest_puerp                                                         
##          não                 33 ( 9.2%)   327 (90.8%)    360 (100.0%)
##        gesta                 41 (11.4%)   319 (88.6%)    360 (100.0%)
##        puerp                 41 (11.4%)   319 (88.6%)    360 (100.0%)
##        Total                115 (10.6%)   965 (89.4%)   1080 (100.0%)
## ------------ ------------ ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.246      2    0.5364  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$cardiopati)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   327  33   360
##   gesta 319  41   360
##   puerp 319  41   360
##   Total 965 115  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.272042 0.7843395 2.077397
##   puerp 1.272042 0.7843395 2.077397
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.3298488    0.3904203   0.390298
##   puerp  0.3298488    0.3904203   0.390298
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 319  41   360
##   puerp 319  41   360
##   Total 638  82   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.000007 0.6295854 1.588347
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp          1            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$cardiopati, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * cardiopati  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------ ------------- ------------- ---------------
##                    cardiopati           sim           não           Total
##   gesta_puerp_SN                                                         
##              não                 33 ( 9.2%)   327 (90.8%)    360 (100.0%)
##              sim                 82 (11.4%)   638 (88.6%)    720 (100.0%)
##            Total                115 (10.6%)   965 (89.4%)   1080 (100.0%)
## ---------------- ------------ ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.023      1    0.3118  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.79        0.51       1.20   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.80       0.80      0.80   
## --------------------------------

Para indicador de caso com hematologia (HEMATOLOGI), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$HEMATOLOGI, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de hematologia",digits = 2)
Tabela de frequências de hematologia
n %
1 28 2.6
2 1052 97.4
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável hematologi, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$hematologi <- factor(dados_psm$HEMATOLOGI, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$hematologi, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * hematologi  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------ ----------- -------------- ---------------
##                hematologi         sim            não           Total
##   gest_puerp                                                        
##          não                20 (5.6%)    340 (94.4%)    360 (100.0%)
##        gesta                 4 (1.1%)    356 (98.9%)    360 (100.0%)
##        puerp                 4 (1.1%)    356 (98.9%)    360 (100.0%)
##        Total                28 (2.6%)   1052 (97.4%)   1080 (100.0%)
## ------------ ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     18.77      2     1e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$hematologi)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    340  20   360
##   gesta  356   4   360
##   puerp  356   4   360
##   Total 1052  28  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower     upper
##   não   1.0000000         NA        NA
##   gesta 0.1973516 0.05548929 0.5322436
##   puerp 0.1973516 0.05548929 0.5322436
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact chi.square
##   não             NA           NA         NA
##   gesta 0.0007578517  0.001293949 0.00184441
##   puerp 0.0007578517  0.001293949 0.00184441
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 356   4   360
##   puerp 356   4   360
##   Total 712   8   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta        1        NA       NA
##   puerp        1 0.2239764 4.464755
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp          1            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$hematologi, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * hematologi  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------ ----------- -------------- ---------------
##                    hematologi         sim            não           Total
##   gesta_puerp_SN                                                        
##              não                20 (5.6%)    340 (94.4%)    360 (100.0%)
##              sim                 8 (1.1%)    712 (98.9%)    720 (100.0%)
##            Total                28 (2.6%)   1052 (97.4%)   1080 (100.0%)
## ---------------- ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     17.05      1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     5.24        2.28      12.01   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     5.00       5.00      5.00   
## --------------------------------

Para indicador de caso com síndrome de Down (SIND_DOWN), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$SIND_DOWN, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de síndrome de Down",digits = 2)
Tabela de frequências de síndrome de Down
n %
1 11 1.0
2 1066 98.7
9 1 0.1
NA 2 0.2
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável sind_down, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$sind_down <- factor(dados_psm$SIND_DOWN, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$sind_down, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * sind_down  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ----------- --------------- ---------------
##                sind_down         sim             não           Total
##   gest_puerp                                                        
##          não                8 (2.2%)    351 ( 97.8%)    359 (100.0%)
##        gesta                0 (0.0%)    359 (100.0%)    359 (100.0%)
##        puerp                3 (0.8%)    356 ( 99.2%)    359 (100.0%)
##        Total               11 (1.0%)   1066 ( 99.0%)   1077 (100.0%)
## ------------ ----------- ----------- --------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     9.001      2    0.0111  
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$sind_down, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * sind_down  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ----------- -------------- ---------------
##                    sind_down         sim            não           Total
##   gesta_puerp_SN                                                       
##              não                8 (2.2%)    351 (97.8%)    359 (100.0%)
##              sim                3 (0.4%)    715 (99.6%)    718 (100.0%)
##            Total               11 (1.0%)   1066 (99.0%)   1077 (100.0%)
## ---------------- ----------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     6.073      1    0.0137  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     5.43        1.43      20.60   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     5.33       5.33      5.33   
## --------------------------------

Para indicador de caso com doenças hepáticas (HEPATICA), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$HEPATICA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de doenças hepáticas",digits = 2)
Tabela de frequências de doenças hepáticas
n %
1 14 1.3
2 1058 98.0
9 1 0.1
NA 7 0.6
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável hepatica, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$hepatica <- factor(dados_psm$HEPATICA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$hepatica, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * hepatica  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ----------- -------------- ---------------
##                hepatica         sim            não           Total
##   gest_puerp                                                      
##          não              10 (2.8%)    348 (97.2%)    358 (100.0%)
##        gesta               2 (0.6%)    354 (99.4%)    356 (100.0%)
##        puerp               2 (0.6%)    356 (99.4%)    358 (100.0%)
##        Total              14 (1.3%)   1058 (98.7%)   1072 (100.0%)
## ------------ ---------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     9.225      2    0.0099  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$hepatica)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    348  10   358
##   gesta  354   2   356
##   puerp  356   2   358
##   Total 1058  14  1072
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower     upper
##   não   1.0000000         NA        NA
##   gesta 0.2088531 0.02917888 0.8148091
##   puerp 0.2076239 0.02901552 0.8102138
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.02200586   0.03701112 0.04254536
##   puerp 0.02147792   0.03700674 0.04156241
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 354   2   356
##   puerp 356   2   358
##   Total 710   4   714
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.9943899 0.1030596 9.594552
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.9957924            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$hepatica, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * hepatica  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ----------- -------------- ---------------
##                    hepatica         sim            não           Total
##   gesta_puerp_SN                                                      
##              não              10 (2.8%)    348 (97.2%)    358 (100.0%)
##              sim               4 (0.6%)    710 (99.4%)    714 (100.0%)
##            Total              14 (1.3%)   1058 (98.7%)   1072 (100.0%)
## ---------------- ---------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     7.574      1    0.0059  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     5.10        1.59      16.38   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     4.99       4.99      4.99   
## --------------------------------

Para indicador de caso com asma (ASMA), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$ASMA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de asma",digits = 2)
Tabela de frequências de asma
n %
1 57 5.3
2 1023 94.7
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável asma, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$asma <- factor(dados_psm$ASMA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$asma, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * asma  
## Data Frame: dados_psm  
## 
## 
## ------------ ------ ----------- -------------- ---------------
##                asma         sim            não           Total
##   gest_puerp                                                  
##          não          23 (6.4%)    337 (93.6%)    360 (100.0%)
##        gesta          15 (4.2%)    345 (95.8%)    360 (100.0%)
##        puerp          19 (5.3%)    341 (94.7%)    360 (100.0%)
##        Total          57 (5.3%)   1023 (94.7%)   1080 (100.0%)
## ------------ ------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.778      2    0.4111  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$asma)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    337  23   360
##   gesta  345  15   360
##   puerp  341  19   360
##   Total 1023  57  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.6397336 0.3201515 1.241364
##   puerp 0.8177769 0.4312781 1.533001
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.1878212    0.2430041  0.2433086
##   puerp  0.5303674    0.6338232  0.6333389
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 345  15   360
##   puerp 341  19   360
##   Total 686  34   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.278304 0.6375144 2.609398
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.4893625    0.5987556  0.5981301
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$asma, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * asma  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------ ----------- -------------- ---------------
##                    asma         sim            não           Total
##   gesta_puerp_SN                                                  
##              não          23 (6.4%)    337 (93.6%)    360 (100.0%)
##              sim          34 (4.7%)    686 (95.3%)    720 (100.0%)
##            Total          57 (5.3%)   1023 (94.7%)   1080 (100.0%)
## ---------------- ------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.021      1    0.3123  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.38        0.80       2.37   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.35       1.35      1.35   
## --------------------------------

Para indicador de caso com diabetes (DIABETES), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$DIABETES, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de diabetes",digits = 2)
Tabela de frequências de diabetes
n %
1 111 10.3
2 969 89.7
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável diabetes, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$diabetes <- factor(dados_psm$DIABETES, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$diabetes, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * diabetes  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                diabetes           sim           não           Total
##   gest_puerp                                                       
##          não               36 (10.0%)   324 (90.0%)    360 (100.0%)
##        gesta               38 (10.6%)   322 (89.4%)    360 (100.0%)
##        puerp               37 (10.3%)   323 (89.7%)    360 (100.0%)
##        Total              111 (10.3%)   969 (89.7%)   1080 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0602      2    0.9703  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$diabetes)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   324  36   360
##   gesta 322  38   360
##   puerp 323  37   360
##   Total 969 111  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.061793 0.6546142 1.725275
##   puerp 1.030794 0.6333982 1.678977
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.8076883    0.9024135  0.9023246
##   puerp  0.9025641    1.0000000  1.0000000
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 322  38   360
##   puerp 323  37   360
##   Total 645  75   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.9707878 0.5995568 1.570627
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.9036975            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$diabetes, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * diabetes  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    diabetes           sim           não           Total
##   gesta_puerp_SN                                                       
##              não               36 (10.0%)   324 (90.0%)    360 (100.0%)
##              sim               75 (10.4%)   645 (89.6%)    720 (100.0%)
##            Total              111 (10.3%)   969 (89.7%)   1080 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0113      1    0.9154  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.96        0.63       1.45   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.96       0.96      0.96   
## --------------------------------

Para indicador de caso com doença neurológica (NEUROLOGIC), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$NEUROLOGIC, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de doença neurológica",digits = 2)
Tabela de frequências de doença neurológica
n %
1 46 4.3
2 1031 95.5
9 2 0.2
NA 1 0.1
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável neuro, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$neuro <- factor(dados_psm$NEUROLOGIC, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$neuro, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * neuro  
## Data Frame: dados_psm  
## 
## 
## ------------ ------- ----------- -------------- ---------------
##                neuro         sim            não           Total
##   gest_puerp                                                   
##          não           35 (9.7%)    324 (90.3%)    359 (100.0%)
##        gesta            7 (1.9%)    352 (98.1%)    359 (100.0%)
##        puerp            4 (1.1%)    355 (98.9%)    359 (100.0%)
##        Total           46 (4.3%)   1031 (95.7%)   1077 (100.0%)
## ------------ ------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     39.83      2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$neuro)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    324  35   359
##   gesta  352   7   359
##   puerp  355   4   359
##   Total 1031  46  1077
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower     upper
##   não   1.0000000         NA        NA
##   gesta 0.1877746 0.07483654 0.4055939
##   puerp 0.1081989 0.03137575 0.2756278
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 5.018429e-06 8.560814e-06 1.757489e-05
##   puerp 9.240181e-08 1.682777e-07 7.817118e-07
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 352   7   359
##   puerp 355   4   359
##   Total 707  11   718
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.5763066 0.1443266 1.974533
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.3843035    0.5456553  0.5433893
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$neuro, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * neuro  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------- ----------- -------------- ---------------
##                    neuro         sim            não           Total
##   gesta_puerp_SN                                                   
##              não           35 (9.7%)    324 (90.3%)    359 (100.0%)
##              sim           11 (1.5%)    707 (98.5%)    718 (100.0%)
##            Total           46 (4.3%)   1031 (95.7%)   1077 (100.0%)
## ---------------- ------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     37.54      1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     6.94        3.48      13.84   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     6.36       6.36      6.36   
## --------------------------------

Para indicador de caso com outra pneumopatia crônica (PNEUMOPATI), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$PNEUMOPATI, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de outra pneumopatia",digits = 2)
Tabela de frequências de outra pneumopatia
n %
1 22 2.0
2 1054 97.6
9 1 0.1
NA 3 0.3
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável pneumopati, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$pneumopati <- factor(dados_psm$PNEUMOPATI, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$pneumopati, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * pneumopati  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------ ----------- -------------- ---------------
##                pneumopati         sim            não           Total
##   gest_puerp                                                        
##          não                16 (4.5%)    343 (95.5%)    359 (100.0%)
##        gesta                 5 (1.4%)    353 (98.6%)    358 (100.0%)
##        puerp                 1 (0.3%)    358 (99.7%)    359 (100.0%)
##        Total                22 (2.0%)   1054 (98.0%)   1076 (100.0%)
## ------------ ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.77      2     2e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$pneumopati)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    343  16   359
##   gesta  353   5   358
##   puerp  358   1   359
##   Total 1054  22  1076
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos    estimate       lower     upper
##   não   1.00000000          NA        NA
##   gesta 0.31061688 0.098671911 0.8106197
##   puerp 0.06807601 0.002820338 0.3361028
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 0.0157065877 0.0244707428 0.0272184787
##   puerp 0.0001243934 0.0002362173 0.0005894469
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 353   5   358
##   puerp 358   1   359
##   Total 711   6   717
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate       lower    upper
##   gesta 1.0000000          NA       NA
##   puerp 0.2193759 0.008267572 1.435641
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.1229116    0.1231695  0.2174513
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$pneumopati, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * pneumopati  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------ ----------- -------------- ---------------
##                    pneumopati         sim            não           Total
##   gesta_puerp_SN                                                        
##              não                16 (4.5%)    343 (95.5%)    359 (100.0%)
##              sim                 6 (0.8%)    711 (99.2%)    717 (100.0%)
##            Total                22 (2.0%)   1054 (98.0%)   1076 (100.0%)
## ---------------- ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     13.9       1     2e-04  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     5.53        2.14      14.25   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     5.33       5.33      5.33   
## --------------------------------

Para indicador de caso com imunodeficiência (IMUNODEPRE), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$IMUNODEPRE, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de imunodeficiência",digits = 2)
Tabela de frequências de imunodeficiência
n %
1 41 3.8
2 1039 96.2
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável imunodepre, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$imunodepre <- factor(dados_psm$IMUNODEPRE, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$imunodepre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * imunodepre  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------ ----------- -------------- ---------------
##                imunodepre         sim            não           Total
##   gest_puerp                                                        
##          não                18 (5.0%)    342 (95.0%)    360 (100.0%)
##        gesta                13 (3.6%)    347 (96.4%)    360 (100.0%)
##        puerp                10 (2.8%)    350 (97.2%)    360 (100.0%)
##        Total                41 (3.8%)   1039 (96.2%)   1080 (100.0%)
## ------------ ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.485      2    0.2887  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$imunodepre)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    342  18   360
##   gesta  347  13   360
##   puerp  350  10   360
##   Total 1039  41  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.7145155 0.3355512 1.480369
##   puerp 0.5470572 0.2377665 1.187831
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.3668474    0.4632642  0.4627018
##   puerp  0.1286611    0.1762767  0.1772170
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 347  13   360
##   puerp 350  10   360
##   Total 697  23   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.7656466 0.3196222 1.779307
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.5348794    0.6726023  0.6716725
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$imunodepre, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * imunodepre  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------ ----------- -------------- ---------------
##                    imunodepre         sim            não           Total
##   gesta_puerp_SN                                                        
##              não                18 (5.0%)    342 (95.0%)    360 (100.0%)
##              sim                23 (3.2%)    697 (96.8%)    720 (100.0%)
##            Total                41 (3.8%)   1039 (96.2%)   1080 (100.0%)
## ---------------- ------------ ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.676      1    0.1954  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.59        0.85       3.00   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.57       1.57      1.57   
## --------------------------------

Para indicador de caso com doença renal (RENAL), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$RENAL, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de doença renal",digits = 2)
Tabela de frequências de doença renal
n %
1 37 3.4
2 1035 95.8
9 1 0.1
NA 7 0.6
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável renal, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$renal <- factor(dados_psm$RENAL, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$renal, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * renal  
## Data Frame: dados_psm  
## 
## 
## ------------ ------- ----------- -------------- ---------------
##                renal         sim            não           Total
##   gest_puerp                                                   
##          não           24 (6.8%)    329 (93.2%)    353 (100.0%)
##        gesta            6 (1.7%)    354 (98.3%)    360 (100.0%)
##        puerp            7 (1.9%)    352 (98.1%)    359 (100.0%)
##        Total           37 (3.5%)   1035 (96.5%)   1072 (100.0%)
## ------------ ------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     17.74      2     1e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$renal)
odds_function(oi)
## $data
##        Var Present
## Grupos   nao sim Total
##   não    329  24   353
##   gesta  354   6   360
##   puerp  352   7   359
##   Total 1035  37  1072
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.2373239 0.0858233 0.5553831
##   puerp 0.2773797 0.1078936 0.6238270
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact  chi.square
##   não             NA           NA          NA
##   gesta 0.0005685031 0.0006198817 0.001254060
##   puerp 0.0014420884 0.0015589149 0.002822413
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 354   6   360
##   puerp 352   7   359
##   Total 706  13   719
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.168764 0.3765037 3.750214
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.7849464    0.7884621  0.9959622
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$renal, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * renal  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------- ----------- -------------- ---------------
##                    renal         sim            não           Total
##   gesta_puerp_SN                                                   
##              não           24 (6.8%)    329 (93.2%)    353 (100.0%)
##              sim           13 (1.8%)    706 (98.2%)    719 (100.0%)
##            Total           37 (3.5%)   1035 (96.5%)   1072 (100.0%)
## ---------------- ------- ----------- -------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.23      1     1e-04  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     3.96        1.99       7.88   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     3.76       3.76      3.76   
## --------------------------------

Para indicador de caso com obesidade (OBESIDADE), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$OBESIDADE, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de obesidade",digits = 2)
Tabela de frequências de obesidade
n %
1 89 8.2
2 991 91.8
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável obesidade, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$obesidade <- factor(dados_psm$OBESIDADE, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$obesidade, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * obesidade  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ----------- ------------- ---------------
##                obesidade         sim           não           Total
##   gest_puerp                                                      
##          não               33 (9.2%)   327 (90.8%)    360 (100.0%)
##        gesta               27 (7.5%)   333 (92.5%)    360 (100.0%)
##        puerp               29 (8.1%)   331 (91.9%)    360 (100.0%)
##        Total               89 (8.2%)   991 (91.8%)   1080 (100.0%)
## ------------ ----------- ----------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.6857      2    0.7097  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$obesidade)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   327  33   360
##   gesta 333  27   360
##   puerp 331  29   360
##   Total 991  89  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.8045012 0.4689299 1.369066
##   puerp 0.8688839 0.5121049 1.466850
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.4228891    0.5004710  0.5001843
##   puerp  0.5986639    0.6905139  0.6902276
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 333  27   360
##   puerp 331  29   360
##   Total 664  56   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta  1.00000        NA       NA
##   puerp  1.08003 0.6235083 1.876623
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.7830735    0.8894709  0.8893304
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$obesidade, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * obesidade  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ----------- ------------- ---------------
##                    obesidade         sim           não           Total
##   gesta_puerp_SN                                                      
##              não               33 (9.2%)   327 (90.8%)    360 (100.0%)
##              sim               56 (7.8%)   664 (92.2%)    720 (100.0%)
##            Total               89 (8.2%)   991 (91.8%)   1080 (100.0%)
## ---------------- ----------- ----------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.4424      1     0.506  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.20        0.76       1.88   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.18       1.18      1.18   
## --------------------------------

Agora vamos analisar a varíavel de número de comorbidades. Consideramos como comorbidades: CARDIOPATI, HEMATOLOGI, HEPATICA, ASMA, DIABETES, NEUROLOGIC, PNEUMOPATI, IMUNODEPRE, RENAL, OBESIDADE.

n media DP mediana minimo maximo
gest_puerp não 349.00 0.69 0.74 1.00 0.00 3.00
gesta 353.00 0.43 0.65 0.00 0.00 3.00
puerp 356.00 0.42 0.85 0.00 0.00 6.00
gesta_puerp_SN não 349.00 0.69 0.74 1.00 0.00 3.00
sim 709.00 0.43 0.76 0.00 0.00 6.00
ctable(dados_psm$gest_puerp,  dados_psm$gr_comorb, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * gr_comorb  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- ----------- ---------------
##                gr_comorb       nenhuma        1 ou 2          >2           Total
##   gest_puerp                                                                    
##          não               156 (44.7%)   183 (52.4%)   10 (2.9%)    349 (100.0%)
##        gesta               227 (64.3%)   123 (34.8%)    3 (0.8%)    353 (100.0%)
##        puerp               262 (73.6%)    79 (22.2%)   15 (4.2%)    356 (100.0%)
##        Total               645 (61.0%)   385 (36.4%)   28 (2.6%)   1058 (100.0%)
## ------------ ----------- ------------- ------------- ----------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     77.43      4       0    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$gr_comorb, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * gr_comorb  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- ----------- ---------------
##                    gr_comorb       nenhuma        1 ou 2          >2           Total
##   gesta_puerp_SN                                                                    
##              não               156 (44.7%)   183 (52.4%)   10 (2.9%)    349 (100.0%)
##              sim               489 (69.0%)   202 (28.5%)   18 (2.5%)    709 (100.0%)
##            Total               645 (61.0%)   385 (36.4%)   28 (2.6%)   1058 (100.0%)
## ---------------- ----------- ------------- ------------- ----------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     59.54      2       0    
## ----------------------------

Para indicador de caso com outra morbidade (OUT_MORBI), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$OUT_MORBI, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de outra morbidade",digits = 2)
Tabela de frequências de outra morbidade
n %
1 519 48.1
2 511 47.3
9 4 0.4
NA 46 4.3
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável out_morb, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$out_morb <- factor(dados_psm$OUT_MORBI, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$out_morb, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * out_morb  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                out_morb           sim           não           Total
##   gest_puerp                                                       
##          não              198 (57.7%)   145 (42.3%)    343 (100.0%)
##        gesta              258 (73.9%)    91 (26.1%)    349 (100.0%)
##        puerp               63 (18.6%)   275 (81.4%)    338 (100.0%)
##        Total              519 (50.4%)   511 (49.6%)   1030 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      221       2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$out_morb)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   145 198   343
##   gesta  91 258   349
##   puerp 275  63   338
##   Total 511 519  1030
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 2.0729590 1.5059366 2.8651295
##   puerp 0.1684867 0.1182875 0.2374404
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 6.992723e-06 7.040507e-06 1.013527e-05
##   puerp 0.000000e+00 1.793167e-26 2.210479e-25
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  91 258   349
##   puerp 275  63   338
##   Total 366 321   687
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos    estimate      lower     upper
##   gesta 1.00000000         NA        NA
##   puerp 0.08131571 0.05613559 0.1162783
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact   chi.square
##   gesta         NA           NA           NA
##   puerp          0 4.688002e-50 2.742785e-47
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$out_morb, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * out_morb  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    out_morb           sim           não           Total
##   gesta_puerp_SN                                                       
##              não              198 (57.7%)   145 (42.3%)    343 (100.0%)
##              sim              321 (46.7%)   366 (53.3%)    687 (100.0%)
##            Total              519 (50.4%)   511 (49.6%)   1030 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.64      1    0.0011  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.56        1.20       2.02   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.24       1.24      1.24   
## --------------------------------

Para indicador de caso se tomou vacina da gripe na última campanha (VACINA), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$VACINA, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências se tomou vacina da gripe na última campanha",digits = 2)
Tabela de frequências se tomou vacina da gripe na última campanha
n %
1 221 20.5
2 407 37.7
9 386 35.7
NA 66 6.1
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável vacina, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$vacina <- factor(dados_psm$VACINA, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$vacina, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * vacina  
## Data Frame: dados_psm  
## 
## 
## ------------ -------- ------------- ------------- --------------
##                vacina           sim           não          Total
##   gest_puerp                                                    
##          não             51 (23.3%)   168 (76.7%)   219 (100.0%)
##        gesta             88 (41.9%)   122 (58.1%)   210 (100.0%)
##        puerp             82 (41.2%)   117 (58.8%)   199 (100.0%)
##        Total            221 (35.2%)   407 (64.8%)   628 (100.0%)
## ------------ -------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     20.91      2       0    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$vacina, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * vacina  
## Data Frame: dados_psm  
## 
## 
## ---------------- -------- ------------- ------------- --------------
##                    vacina           sim           não          Total
##   gesta_puerp_SN                                                    
##              não             51 (23.3%)   168 (76.7%)   219 (100.0%)
##              sim            170 (41.6%)   239 (58.4%)   409 (100.0%)
##            Total            221 (35.2%)   407 (64.8%)   628 (100.0%)
## ---------------- -------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     20.1       1       0    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.43        0.29       0.62   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.56       0.56      0.56   
## --------------------------------

Para indicador de caso se tomou antiviral (ANTIVIRAL), com categorias 1-Oseltamivir, 2-Zanamivir e 3-Outro.

kable(questionr::freq(dados_psm$ANTIVIRAL, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências se tomou antiviral",digits = 2)
Tabela de frequências se tomou antiviral
n %
1 238 22.0
2 724 67.0
9 82 7.6
NA 36 3.3
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável antiviral, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$antiviral <- factor(dados_psm$ANTIVIRAL, 
                     levels = c("1", "2"), 
                     labels = c("Oseltamivir", "Zanamivir"))
ctable(dados_psm$gest_puerp,  dados_psm$antiviral, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * antiviral  
## Data Frame: dados_psm  
## 
## 
## ------------ ----------- ------------- ------------- --------------
##                antiviral   Oseltamivir     Zanamivir          Total
##   gest_puerp                                                       
##          não                75 (23.7%)   242 (76.3%)   317 (100.0%)
##        gesta                81 (24.8%)   246 (75.2%)   327 (100.0%)
##        puerp                82 (25.8%)   236 (74.2%)   318 (100.0%)
##        Total               238 (24.7%)   724 (75.3%)   962 (100.0%)
## ------------ ----------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.3859      2    0.8245  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$antiviral)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   242  75   317
##   gesta 246  81   327
##   puerp 236  82   318
##   Total 724 238   962
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.062210 0.7400945 1.525999
##   puerp 1.120766 0.7809075 1.610396
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.7433679    0.7828080  0.8125734
##   puerp  0.5363055    0.5811859  0.5966838
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 246  81   327
##   puerp 236  82   318
##   Total 482 163   645
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower    upper
##   gesta 1.000000       NA       NA
##   puerp 1.055126 0.739019 1.506704
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.7675284    0.7862391  0.8367138
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$antiviral, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * antiviral  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----------- ------------- ------------- --------------
##                    antiviral   Oseltamivir     Zanamivir          Total
##   gesta_puerp_SN                                                       
##              não                75 (23.7%)   242 (76.3%)   317 (100.0%)
##              sim               163 (25.3%)   482 (74.7%)   645 (100.0%)
##            Total               238 (24.7%)   724 (75.3%)   962 (100.0%)
## ---------------- ----------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.2164      1    0.6418  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.92        0.67       1.25   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.94       0.94      0.94   
## --------------------------------

Desfechos

Para indicador de caso se foi para UTI (UTI), com categorias 1-sim, 2-não e 9-ignorado.

kable(questionr::freq(dados_psm$UTI, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências se foi para UTI",digits = 2)
Tabela de frequências se foi para UTI
n %
1 339 31.4
2 709 65.6
9 10 0.9
NA 22 2.0
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável uti, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$uti <- factor(dados_psm$UTI, 
                     levels = c("1", "2"), 
                     labels = c("sim", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_psm  
## 
## 
## ------------ ----- ------------- ------------- ---------------
##                uti           sim           não           Total
##   gest_puerp                                                  
##          não         132 (37.8%)   217 (62.2%)    349 (100.0%)
##        gesta          79 (22.8%)   268 (77.2%)    347 (100.0%)
##        puerp         128 (36.4%)   224 (63.6%)    352 (100.0%)
##        Total         339 (32.3%)   709 (67.7%)   1048 (100.0%)
## ------------ ----- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     21.93      2       0    
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não   217 132   349
##   gesta 268  79   347
##   puerp 224 128   352
##   Total 709 339  1048
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.4854380 0.3473765 0.6749079
##   puerp 0.9395093 0.6909999 1.2770428
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 1.539875e-05 1.716599e-05 2.250981e-05
##   puerp 6.902465e-01 6.965605e-01 7.477739e-01
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 268  79   347
##   puerp 224 128   352
##   Total 492 207   699
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate   lower    upper
##   gesta 1.000000      NA       NA
##   puerp 1.935492 1.39115 2.705661
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   gesta           NA           NA           NA
##   puerp 8.251208e-05 9.504681e-05 0.0001161886
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_psm  
## 
## 
## ---------------- ----- ------------- ------------- ---------------
##                    uti           sim           não           Total
##   gesta_puerp_SN                                                  
##              não         132 (37.8%)   217 (62.2%)    349 (100.0%)
##              sim         207 (29.6%)   492 (70.4%)    699 (100.0%)
##            Total         339 (32.3%)   709 (67.7%)   1048 (100.0%)
## ---------------- ----- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     6.797      1    0.0091  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.45        1.10       1.89   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.28       1.28      1.28   
## --------------------------------

Para indicador de caso se foi para uso de suporte ventilatório (SUPORT_VEN), com categorias 1-sim invasico, 2- sim não invasivo, 3-não e 9-ignorado.

kable(questionr::freq(dados_psm$SUPORT_VEN, cum = FALSE, total = TRUE,na.last = FALSE,valid=FALSE),caption="Tabela de frequências de suporte ventilatório",digits = 2)
Tabela de frequências de suporte ventilatório
n %
1 188 17.4
2 339 31.4
3 500 46.3
9 26 2.4
NA 27 2.5
Total 1080 100.0

Vamos agora rotular essa variável, criando a variável suport_ven, considerando apenas as categorias válidas. A seguir podemos ver a distribuição da variável por grupos de gestação e puerpério (gest_puerp e gesta_puerp_SN), em qua as porcentagens estão por grupo (porcentagem por coluna).

dados_psm$suport_ven <- factor(dados_psm$SUPORT_VEN, 
                     levels = c("1", "2", "3"), 
                     labels = c("sim, invasivo","sim, não invasivo", "não"))
ctable(dados_psm$gest_puerp,  dados_psm$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_psm  
## 
## 
## ------------ ------------ --------------- ------------------- ------------- ---------------
##                suport_ven   sim, invasivo   sim, não invasivo           não           Total
##   gest_puerp                                                                               
##          não                   70 (20.3%)         149 (43.3%)   125 (36.3%)    344 (100.0%)
##        gesta                   38 (11.4%)          95 (28.4%)   201 (60.2%)    334 (100.0%)
##        puerp                   80 (22.9%)          95 (27.2%)   174 (49.9%)    349 (100.0%)
##        Total                  188 (18.3%)         339 (33.0%)   500 (48.7%)   1027 (100.0%)
## ------------ ------------ --------------- ------------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     50.26      4       0    
## ----------------------------
ctable(dados_psm$gesta_puerp_SN,  dados_psm$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_psm  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------- ---------------
##                    suport_ven   sim, invasivo   sim, não invasivo           não           Total
##   gesta_puerp_SN                                                                               
##              não                   70 (20.3%)         149 (43.3%)   125 (36.3%)    344 (100.0%)
##              sim                  118 (17.3%)         190 (27.8%)   375 (54.9%)    683 (100.0%)
##            Total                  188 (18.3%)         339 (33.0%)   500 (48.7%)   1027 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     34.02      2       0    
## ----------------------------

Agora, vamos selecionar apenas os casos que fizeram uso de suporte ventilatório não invasivo e comparar quem foi a UTI e que não foi:

dados_psm_ninv <- filter(dados_psm, suport_ven == "sim, não invasivo")
ctable(dados_psm_ninv$gest_puerp,  dados_psm_ninv$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_psm_ninv  
## 
## 
## ------------ ----- ------------- ------------- --------------
##                uti           sim           não          Total
##   gest_puerp                                                 
##          não          47 (32.6%)    97 (67.4%)   144 (100.0%)
##        gesta          26 (27.4%)    69 (72.6%)    95 (100.0%)
##        puerp          45 (47.4%)    50 (52.6%)    95 (100.0%)
##        Total         118 (35.3%)   216 (64.7%)   334 (100.0%)
## ------------ ----- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     9.118      2    0.0105  
## ----------------------------
oi <- table(dados_psm_ninv$gest_puerp, dados_psm_ninv$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    97  47   144
##   gesta  69  26    95
##   puerp  50  45    95
##   Total 216 118   334
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.7798834 0.4361636 1.374435
##   puerp 1.8514796 1.0865190 3.168887
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.39214817   0.47324585 0.47015253
##   puerp 0.02349615   0.02950864 0.03120852
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  69  26    95
##   puerp  50  45    95
##   Total 119  71   190
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower   upper
##   gesta 1.000000       NA      NA
##   puerp 2.372508 1.301213 4.39656
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   gesta          NA           NA          NA
##   puerp 0.004669329  0.006750809 0.006949135
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm_ninv$gesta_puerp_SN,  dados_psm_ninv$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_psm_ninv  
## 
## 
## ---------------- ----- ------------- ------------- --------------
##                    uti           sim           não          Total
##   gesta_puerp_SN                                                 
##              não          47 (32.6%)    97 (67.4%)   144 (100.0%)
##              sim          71 (37.4%)   119 (62.6%)   190 (100.0%)
##            Total         118 (35.3%)   216 (64.7%)   334 (100.0%)
## ---------------- ----- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.6083      1    0.4354  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.81        0.51       1.28   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.87       0.87      0.87   
## --------------------------------

Agora, vamos selecionar apenas os casos que fizeram uso de suporte ventilatório invasivo e comparar quem foi a UTI e que não foi:

dados_psm_inv <- filter(dados_psm, suport_ven == "sim, invasivo")
ctable(dados_psm_inv$gest_puerp,  dados_psm_inv$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_psm_inv  
## 
## 
## ------------ ----- ------------- ------------ --------------
##                uti           sim          não          Total
##   gest_puerp                                                
##          não          60 (85.7%)   10 (14.3%)    70 (100.0%)
##        gesta          35 (92.1%)    3 ( 7.9%)    38 (100.0%)
##        puerp          67 (83.8%)   13 (16.2%)    80 (100.0%)
##        Total         162 (86.2%)   26 (13.8%)   188 (100.0%)
## ------------ ----- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.529      2    0.4657  
## ----------------------------
oi <- table(dados_psm_inv$gest_puerp, dados_psm_inv$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    10  60    70
##   gesta   3  35    38
##   puerp  13  67    80
##   Total  26 162   188
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 1.8732767 0.5203152 9.247267
##   puerp 0.8624913 0.3409772 2.123911
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.3541235    0.5367854  0.5059781
##   puerp  0.7482159    0.8222909  0.9155924
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta   3  35    38
##   puerp  13  67    80
##   Total  16 102   118
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower    upper
##   gesta 1.0000000         NA       NA
##   puerp 0.4602661 0.09580614 1.569138
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.2291882    0.2623316  0.3416063
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm_inv$gesta_puerp_SN,  dados_psm_inv$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_psm_inv  
## 
## 
## ---------------- ----- ------------- ------------ --------------
##                    uti           sim          não          Total
##   gesta_puerp_SN                                                
##              não          60 (85.7%)   10 (14.3%)    70 (100.0%)
##              sim         102 (86.4%)   16 (13.6%)   118 (100.0%)
##            Total         162 (86.2%)   26 (13.8%)   188 (100.0%)
## ---------------- ----- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##       0        1       1    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.94        0.40       2.21   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.99       0.99      0.99   
## --------------------------------

Vamos agora analisar a variável “evolucao”.

ctable(dados_psm$gest_puerp,  dados_psm$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_psm  
## 
## 
## ------------ ---------- ------------- ------------- ---------------
##                evolucao          Cura         Obito           Total
##   gest_puerp                                                       
##          não              288 (80.0%)    72 (20.0%)    360 (100.0%)
##        gesta              326 (90.6%)    34 ( 9.4%)    360 (100.0%)
##        puerp              291 (80.8%)    69 (19.2%)    360 (100.0%)
##        Total              905 (83.8%)   175 (16.2%)   1080 (100.0%)
## ------------ ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     18.26      2     1e-04  
## ----------------------------
oi <- table(dados_psm$gest_puerp, dados_psm$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    72 288   360
##   gesta  34 326   360
##   puerp  69 291   360
##   Total 175 905  1080
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 2.388869 1.5522228 3.741710
##   puerp 1.054184 0.7288118 1.525814
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   não             NA           NA           NA
##   gesta 6.068331e-05 8.682465e-05 9.957555e-05
##   puerp 7.791736e-01 8.510717e-01 8.510159e-01
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  34 326   360
##   puerp  69 291   360
##   Total 103 617   720
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.4412954 0.2810963 0.6810888
## 
## $p.value
##        two-sided
## Grupos    midp.exact fisher.exact   chi.square
##   gesta           NA           NA           NA
##   puerp 0.0001887224 0.0002661758 0.0002957876
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm$gesta_puerp_SN,  dados_psm$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_psm  
## 
## 
## ---------------- ---------- ------------- ------------- ---------------
##                    evolucao          Cura         Obito           Total
##   gesta_puerp_SN                                                       
##              não              288 (80.0%)    72 (20.0%)    360 (100.0%)
##              sim              617 (85.7%)   103 (14.3%)    720 (100.0%)
##            Total              905 (83.8%)   175 (16.2%)   1080 (100.0%)
## ---------------- ---------- ------------- ------------- ---------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     5.32       1    0.0211  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.67        0.48       0.93   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.93       0.93      0.93   
## --------------------------------

Vamos analisar a mortalidade apenas dos casos que foram para UTI. Para isso, selecionamos uti=sim:

dados_psm_uti <- filter(dados_psm, uti=="sim")
ctable(dados_psm_uti$gest_puerp,  dados_psm_uti$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_psm_uti  
## 
## 
## ------------ ---------- ------------- ------------- --------------
##                evolucao          Cura         Obito          Total
##   gest_puerp                                                      
##          não               87 (65.9%)    45 (34.1%)   132 (100.0%)
##        gesta               52 (65.8%)    27 (34.2%)    79 (100.0%)
##        puerp               72 (56.2%)    56 (43.8%)   128 (100.0%)
##        Total              211 (62.2%)   128 (37.8%)   339 (100.0%)
## ------------ ---------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     3.142      2    0.2079  
## ----------------------------
oi <- table(dados_psm_uti$gest_puerp, dados_psm_uti$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    45  87   132
##   gesta  27  52    79
##   puerp  56  72   128
##   Total 128 211   339
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 0.995032 0.5530717 1.807389
##   puerp 0.666452 0.4017865 1.100380
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.9868060    1.0000000   1.000000
##   puerp  0.1128646    0.1271604   0.141481
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  27  52    79
##   puerp  56  72   128
##   Total  83 124   207
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   gesta 1.0000000        NA       NA
##   puerp 0.6699403 0.3706425 1.195121
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.1759668    0.1908625  0.2227611
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_psm_uti$gesta_puerp_SN,  dados_psm_uti$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_psm_uti  
## 
## 
## ---------------- ---------- ------------- ------------- --------------
##                    evolucao          Cura         Obito          Total
##   gesta_puerp_SN                                                      
##              não               87 (65.9%)    45 (34.1%)   132 (100.0%)
##              sim              124 (59.9%)    83 (40.1%)   207 (100.0%)
##            Total              211 (62.2%)   128 (37.8%)   339 (100.0%)
## ---------------- ---------- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.9947      1    0.3186  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.29        0.82       2.04   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.10       1.10      1.10   
## --------------------------------

Variáveis de tempo

Tempo de permanência na UTI

dados_psm <- dados_psm %>% 
  mutate(
    tempo_uti = as.numeric(dt_saiduti - dt_entuti),
    tempo_interna_evolucao = as.numeric(dt_evoluca - dt_interna)
  ) %>%
  mutate(tempo_interna_evolucao = case_when(dt_interna=="2021-01-27" ~ NA_real_, 
                                         TRUE ~ tempo_interna_evolucao))

Vamos agora ver se tem casos inconsistentes no sentido de ser UTI=não e ter tempo de UTI.

ai <- dados_psm %>% group_by(uti) %>% count(!is.na(tempo_uti))
ai

Veja pela tabela acima que não há TRUE quando UTI=não. Ótimo! No entanto, veja que há 146 casos que vão para UTI, mas não tem informação sobre tempo. Só há 193 informações de permanência na UTI.

Vamos agora ver as descritivas de tempo UTI por grupo:

datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_uti*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 86.00 11.09 12.99 7.00 0.00 71.00 3.00 13.75 10.75
gesta 45.00 9.87 11.64 5.00 0.00 59.00 3.00 13.00 10.00
puerp 62.00 13.11 12.14 10.50 0.00 48.00 4.00 16.75 12.75
gesta_puerp_SN não 86.00 11.09 12.99 7.00 0.00 71.00 3.00 13.75 10.75
sim 107.00 11.75 11.98 7.00 0.00 59.00 3.00 16.00 13.00

Comparação de tempo_uti com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_uti ~ gest_puerp,
          data=dados_psm)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_uti by gest_puerp
## Kruskal-Wallis chi-squared = 3.0788, df = 2, p-value = 0.2145
pairwise.wilcox.test(dados_psm$tempo_uti, dados_psm$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm$tempo_uti and dados_psm$gest_puerp 
## 
##       não  gesta
## gesta 0.57 -    
## puerp 0.34 0.33 
## 
## P value adjustment method: holm

Comparação da tempo_sintomas_notific com relação ao gesta_puerp_SN

t.test(tempo_uti ~ gesta_puerp_SN, data=dados_psm, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_uti by gesta_puerp_SN
## t = -0.36007, df = 175.25, p-value = 0.7192
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -4.242805  2.933524
## sample estimates:
## mean in group não mean in group sim 
##          11.09302          11.74766

Tempo entre internação e desfecho (óbito ou alta)

Primeiro vemos o tempo do desfecho, independente se cura ou óbito:

datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_interna_evolucao*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 335.00 12.83 17.28 7.00 0.00 125.00 4.00 13.00 9.00
gesta 346.00 9.03 11.23 5.50 0.00 94.00 3.00 10.00 7.00
puerp 350.00 9.27 10.58 5.50 0.00 68.00 2.00 12.00 10.00
gesta_puerp_SN não 335.00 12.83 17.28 7.00 0.00 125.00 4.00 13.00 9.00
sim 696.00 9.15 10.90 5.50 0.00 94.00 3.00 11.00 8.00

Comparação de tempo_interna_evolucao com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_interna_evolucao ~ gest_puerp,
          data=dados_psm)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_interna_evolucao by gest_puerp
## Kruskal-Wallis chi-squared = 15.554, df = 2, p-value = 0.0004192
pairwise.wilcox.test(dados_psm$tempo_interna_evolucao, dados_psm$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm$tempo_interna_evolucao and dados_psm$gest_puerp 
## 
##       não    gesta 
## gesta 0.0015 -     
## puerp 0.0016 0.7052
## 
## P value adjustment method: holm

Comparação da tempo_interna_evolucao com relação ao gesta_puerp_SN

t.test(tempo_interna_evolucao ~ gesta_puerp_SN, data=dados_psm, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_interna_evolucao by gesta_puerp_SN
## t = 3.5651, df = 465.98, p-value = 0.0004013
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  1.649161 5.699973
## sample estimates:
## mean in group não mean in group sim 
##         12.826866          9.152299

Para os casos curados:

dados_psm_aux <- dados_psm %>% filter(evolucao=="Cura")

datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_interna_evolucao*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm_aux, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 265.00 13.32 18.27 7.00 0.00 125.00 4.00 13.00 9.00
gesta 312.00 8.74 11.38 5.00 0.00 94.00 3.00 9.00 6.00
puerp 281.00 7.47 8.69 4.00 0.00 53.00 2.00 9.00 7.00
gesta_puerp_SN não 265.00 13.32 18.27 7.00 0.00 125.00 4.00 13.00 9.00
sim 593.00 8.14 10.21 5.00 0.00 94.00 3.00 9.00 6.00

Comparação de tempo_interna_evolucao com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_interna_evolucao ~ gest_puerp,
          data=dados_psm_aux)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_interna_evolucao by gest_puerp
## Kruskal-Wallis chi-squared = 38.617, df = 2, p-value = 4.116e-09
pairwise.wilcox.test(dados_psm_aux$tempo_interna_evolucao, dados_psm_aux$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm_aux$tempo_interna_evolucao and dados_psm_aux$gest_puerp 
## 
##       não     gesta
## gesta 1.2e-05 -    
## puerp 1.2e-08 0.043
## 
## P value adjustment method: holm

Comparação da tempo_interna_evolucao com relação ao gesta_puerp_SN

t.test(tempo_interna_evolucao ~ gesta_puerp_SN, data=dados_psm_aux, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_interna_evolucao by gesta_puerp_SN
## t = 4.3269, df = 339.86, p-value = 1.991e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  2.826562 7.538388
## sample estimates:
## mean in group não mean in group sim 
##          13.32075           8.13828

Agora para os casos de óbito:

dados_psm_aux <- dados_psm %>% filter(evolucao=="Obito")

datasummary((gest_puerp + gesta_puerp_SN) ~ tempo_interna_evolucao*(n+media+DP+mediana+minimo+maximo+q25+q75+IQR), data = dados_psm_aux, output = 'markdown')
n media DP mediana minimo maximo q25 q75 IQR
gest_puerp não 70.00 10.96 12.84 6.00 0.00 53.00 2.00 14.00 12.00
gesta 34.00 11.71 9.50 9.00 0.00 46.00 5.25 18.00 12.75
puerp 69.00 16.61 13.98 14.00 0.00 68.00 6.00 20.00 14.00
gesta_puerp_SN não 70.00 10.96 12.84 6.00 0.00 53.00 2.00 14.00 12.00
sim 103.00 14.99 12.84 13.00 0.00 68.00 6.00 19.00 13.00

Comparação de tempo_interna_evolucao com relação ao gest_puerp

Teste de Kruskal-Wallis:

kruskal.test(tempo_interna_evolucao ~ gest_puerp,
          data=dados_psm_aux)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  tempo_interna_evolucao by gest_puerp
## Kruskal-Wallis chi-squared = 10.994, df = 2, p-value = 0.004099
pairwise.wilcox.test(dados_psm_aux$tempo_interna_evolucao, dados_psm_aux$gest_puerp)
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  dados_psm_aux$tempo_interna_evolucao and dados_psm_aux$gest_puerp 
## 
##       não    gesta 
## gesta 0.2501 -     
## puerp 0.0037 0.2501
## 
## P value adjustment method: holm

Comparação da tempo_interna_evolucao com relação ao gesta_puerp_SN

t.test(tempo_interna_evolucao ~ gesta_puerp_SN, data=dados_psm_aux, var.equal=FALSE, alternative ="two.sided")
## 
##  Welch Two Sample t-test
## 
## data:  tempo_interna_evolucao by gesta_puerp_SN
## t = -2.0278, df = 148.31, p-value = 0.04437
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -7.9635155 -0.1027813
## sample estimates:
## mean in group não mean in group sim 
##          10.95714          14.99029

Análise de sobrevivência

Evento: óbito. Censura: cura

dados_psm <- dados_psm %>% mutate(status= case_when(evolucao == "Cura" ~ 0,
                                                 TRUE ~ 1))

ajuste_3grupos <- survfit(Surv(time = tempo_interna_evolucao, event = status) ~ gest_puerp, data = dados_psm)

#Para fazer a tabela da estimativa de KM e intervalo de confiança:
surv_summary(ajuste_3grupos, data = dados_psm)
ggsurvplot(ajuste_3grupos, data = dados_psm,
           pval = TRUE, conf.int=TRUE, conf.int.style = "step",
           ylab = "Sobrevida", xlab = "tempo em dias", legend.title = "Grupos")  

Desfechos por estado

UTI

Sudeste:

dados_aux1 <- filter(dados_psm, region == "southeast")

ctable(dados_aux1$gest_puerp,  dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_aux1  
## 
## 
## ------------ ----- ------------- ------------- --------------
##                uti           sim           não          Total
##   gest_puerp                                                 
##          não          61 (38.6%)    97 (61.4%)   158 (100.0%)
##        gesta          35 (25.2%)   104 (74.8%)   139 (100.0%)
##        puerp          55 (39.6%)    84 (60.4%)   139 (100.0%)
##        Total         151 (34.6%)   285 (65.4%)   436 (100.0%)
## ------------ ----- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     8.085      2    0.0176  
## ----------------------------
oi <- table(dados_aux1$gest_puerp,  dados_aux1$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    97  61   158
##   gesta 104  35   139
##   puerp  84  55   139
##   Total 285 151   436
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.5370429 0.3232872 0.8820432
##   puerp 1.0411170 0.6512182 1.6634747
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.01388587   0.01795005 0.01905427
##   puerp 0.86609653   0.90537921 0.95999521
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta 104  35   139
##   puerp  84  55   139
##   Total 188  90   278
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower  upper
##   gesta 1.000000       NA     NA
##   puerp 1.938385 1.164361 3.2603
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp 0.01078957   0.01464126 0.01487406
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ----- ------------- ------------- --------------
##                    uti           sim           não          Total
##   gesta_puerp_SN                                                 
##              não          61 (38.6%)    97 (61.4%)   158 (100.0%)
##              sim          90 (32.4%)   188 (67.6%)   278 (100.0%)
##            Total         151 (34.6%)   285 (65.4%)   436 (100.0%)
## ---------------- ----- ------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.465      1    0.2262  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.31        0.87       1.97   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.19       1.19      1.19   
## --------------------------------

Nordeste:

dados_aux1 <- filter(dados_psm, region == "northeast")

ctable(dados_aux1$gest_puerp, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_aux1  
## 
## 
## ------------ ----- ------------ ------------- --------------
##                uti          sim           não          Total
##   gest_puerp                                                
##          não         29 (38.2%)    47 (61.8%)    76 (100.0%)
##        gesta         20 (20.8%)    76 (79.2%)    96 (100.0%)
##        puerp         39 (41.1%)    56 (58.9%)    95 (100.0%)
##        Total         88 (33.0%)   179 (67.0%)   267 (100.0%)
## ------------ ----- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.13      2    0.0063  
## ----------------------------
oi <- table(dados_aux1$gest_puerp,  dados_aux1$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    47  29    76
##   gesta  76  20    96
##   puerp  56  39    95
##   Total 179  88   267
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   não   1.0000000        NA        NA
##   gesta 0.4296183 0.2152338 0.8424263
##   puerp 1.1271624 0.6068759 2.1048140
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.01380502   0.01694647 0.01981733
##   puerp 0.70511009   0.75429037 0.82034346
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  76  20    96
##   puerp  56  39    95
##   Total 132  59   191
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate    lower   upper
##   gesta 1.000000       NA      NA
##   puerp 2.624737 1.393434 5.06781
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   gesta          NA           NA          NA
##   puerp 0.002658109  0.002927178 0.004140008
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ----- ------------ ------------- --------------
##                    uti          sim           não          Total
##   gesta_puerp_SN                                                
##              não         29 (38.2%)    47 (61.8%)    76 (100.0%)
##              sim         59 (30.9%)   132 (69.1%)   191 (100.0%)
##            Total         88 (33.0%)   179 (67.0%)   267 (100.0%)
## ---------------- ----- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.9916      1    0.3194  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.38        0.79       2.41   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.24       1.24      1.24   
## --------------------------------

Sul:

dados_aux1 <- filter(dados_psm, region == "south")

ctable(dados_aux1$gest_puerp, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_aux1  
## 
## 
## ------------ ----- ------------ ------------- --------------
##                uti          sim           não          Total
##   gest_puerp                                                
##          não         22 (38.6%)    35 (61.4%)    57 (100.0%)
##        gesta         11 (21.2%)    41 (78.8%)    52 (100.0%)
##        puerp         13 (24.5%)    40 (75.5%)    53 (100.0%)
##        Total         46 (28.4%)   116 (71.6%)   162 (100.0%)
## ------------ ----- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.648      2    0.0979  
## ----------------------------
oi <- table(dados_aux1$gest_puerp,  dados_aux1$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    35  22    57
##   gesta  41  11    52
##   puerp  40  13    53
##   Total 116  46   162
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.4325235 0.1777373 1.004911
##   puerp 0.5220777 0.2233311 1.182863
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.05136674   0.06096075 0.07655829
##   puerp 0.12011512   0.15176227 0.16819464
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  41  11    52
##   puerp  40  13    53
##   Total  81  24   105
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.207062 0.4792903 3.086393
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.6892913    0.8168706  0.8577081
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ----- ------------ ------------- --------------
##                    uti          sim           não          Total
##   gesta_puerp_SN                                                
##              não         22 (38.6%)    35 (61.4%)    57 (100.0%)
##              sim         24 (22.9%)    81 (77.1%)   105 (100.0%)
##            Total         46 (28.4%)   116 (71.6%)   162 (100.0%)
## ---------------- ----- ------------ ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     3.76       1    0.0525  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     2.12        1.05       4.28   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.69       1.69      1.69   
## --------------------------------

Centro-oeste:

dados_aux1 <- filter(dados_psm, region == "central")

ctable(dados_aux1$gest_puerp, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_aux1  
## 
## 
## ------------ ----- ------------ ------------ -------------
##                uti          sim          não         Total
##   gest_puerp                                              
##          não         10 (37.0%)   17 (63.0%)   27 (100.0%)
##        gesta          8 (24.2%)   25 (75.8%)   33 (100.0%)
##        puerp         12 (32.4%)   25 (67.6%)   37 (100.0%)
##        Total         30 (30.9%)   67 (69.1%)   97 (100.0%)
## ------------ ----- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.201      2    0.5484  
## ----------------------------
oi <- table(dados_aux1$gest_puerp,  dados_aux1$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    17  10    27
##   gesta  25   8    33
##   puerp  25  12    37
##   Total  67  30    97
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.5515865 0.1731355 1.702269
##   puerp 0.8180569 0.2836949 2.375126
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.3009656    0.3966505  0.4279034
##   puerp  0.7094111    0.7921943  0.9071982
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  25   8    33
##   puerp  25  12    37
##   Total  50  20    70
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.484404 0.5163586 4.453435
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.4656301    0.5971429  0.6226077
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ----- ------------ ------------ -------------
##                    uti          sim          não         Total
##   gesta_puerp_SN                                              
##              não         10 (37.0%)   17 (63.0%)   27 (100.0%)
##              sim         20 (28.6%)   50 (71.4%)   70 (100.0%)
##            Total         30 (30.9%)   67 (69.1%)   97 (100.0%)
## ---------------- ----- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.3174      1    0.5731  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.47        0.58       3.76   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.30       1.30      1.30   
## --------------------------------

Norte:

dados_aux1 <- filter(dados_psm, region == "north")

ctable(dados_aux1$gest_puerp, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * uti  
## Data Frame: dados_aux1  
## 
## 
## ------------ ----- ------------ ------------ -------------
##                uti          sim          não         Total
##   gest_puerp                                              
##          não         10 (32.3%)   21 (67.7%)   31 (100.0%)
##        gesta          5 (18.5%)   22 (81.5%)   27 (100.0%)
##        puerp          9 (32.1%)   19 (67.9%)   28 (100.0%)
##        Total         24 (27.9%)   62 (72.1%)   86 (100.0%)
## ------------ ----- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.724      2    0.4222  
## ----------------------------
oi <- table(dados_aux1$gest_puerp,  dados_aux1$uti)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    21  10    31
##   gesta  22   5    27
##   puerp  19   9    28
##   Total  62  24    86
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.4890194 0.1294440 1.650120
##   puerp 0.9957406 0.3237731 3.035753
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.2533495    0.3677579  0.3727177
##   puerp  0.9939887    1.0000000  1.0000000
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  22   5    27
##   puerp  19   9    28
##   Total  41  14    55
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower   upper
##   gesta 1.000000        NA      NA
##   puerp 2.035135 0.5840168 7.85354
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.2681255    0.3550356  0.3953332
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$uti, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * uti  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ----- ------------ ------------ -------------
##                    uti          sim          não         Total
##   gesta_puerp_SN                                              
##              não         10 (32.3%)   21 (67.7%)   31 (100.0%)
##              sim         14 (25.5%)   41 (74.5%)   55 (100.0%)
##            Total         24 (27.9%)   62 (72.1%)   86 (100.0%)
## ---------------- ----- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.1806      1    0.6708  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.39        0.53       3.67   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.27       1.27      1.27   
## --------------------------------

Suporte ventilatório

Sudeste:

dados_aux1 <- filter(dados_psm, region == "southeast")

ctable(dados_aux1$gest_puerp,  dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ------------ ------------ --------------- ------------------- ------------- --------------
##                suport_ven   sim, invasivo   sim, não invasivo           não          Total
##   gest_puerp                                                                              
##          não                   27 (17.3%)          79 (50.6%)    50 (32.1%)   156 (100.0%)
##        gesta                   16 (12.2%)          45 (34.4%)    70 (53.4%)   131 (100.0%)
##        puerp                   30 (21.6%)          46 (33.1%)    63 (45.3%)   139 (100.0%)
##        Total                   73 (17.1%)         170 (39.9%)   183 (43.0%)   426 (100.0%)
## ------------ ------------ --------------- ------------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     18.44      4     0.001  
## ----------------------------
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------- --------------
##                    suport_ven   sim, invasivo   sim, não invasivo           não          Total
##   gesta_puerp_SN                                                                              
##              não                   27 (17.3%)          79 (50.6%)    50 (32.1%)   156 (100.0%)
##              sim                   46 (17.0%)          91 (33.7%)   133 (49.3%)   270 (100.0%)
##            Total                   73 (17.1%)         170 (39.9%)   183 (43.0%)   426 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     13.93      2     9e-04  
## ----------------------------

Nordeste:

dados_aux1 <- filter(dados_psm, region == "northeast")

ctable(dados_aux1$gest_puerp, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ------------ ------------ --------------- ------------------- ------------- --------------
##                suport_ven   sim, invasivo   sim, não invasivo           não          Total
##   gest_puerp                                                                              
##          não                   16 (21.6%)          23 (31.1%)    35 (47.3%)    74 (100.0%)
##        gesta                    7 ( 7.4%)          17 (17.9%)    71 (74.7%)    95 (100.0%)
##        puerp                   30 (31.6%)          14 (14.7%)    51 (53.7%)    95 (100.0%)
##        Total                   53 (20.1%)          54 (20.5%)   157 (59.5%)   264 (100.0%)
## ------------ ------------ --------------- ------------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##      26        4       0    
## ----------------------------
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------- --------------
##                    suport_ven   sim, invasivo   sim, não invasivo           não          Total
##   gesta_puerp_SN                                                                              
##              não                   16 (21.6%)          23 (31.1%)    35 (47.3%)    74 (100.0%)
##              sim                   37 (19.5%)          31 (16.3%)   122 (64.2%)   190 (100.0%)
##            Total                   53 (20.1%)          54 (20.5%)   157 (59.5%)   264 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------- --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     8.361      2    0.0153  
## ----------------------------

Sul:

dados_aux1 <- filter(dados_psm, region == "south")

ctable(dados_aux1$gest_puerp, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ------------ ------------ --------------- ------------------- ------------ --------------
##                suport_ven   sim, invasivo   sim, não invasivo          não          Total
##   gest_puerp                                                                             
##          não                   10 (17.9%)          26 (46.4%)   20 (35.7%)    56 (100.0%)
##        gesta                    5 ( 9.8%)          20 (39.2%)   26 (51.0%)    51 (100.0%)
##        puerp                    5 ( 9.4%)          16 (30.2%)   32 (60.4%)    53 (100.0%)
##        Total                   20 (12.5%)          62 (38.8%)   78 (48.8%)   160 (100.0%)
## ------------ ------------ --------------- ------------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     7.312      4    0.1203  
## ----------------------------
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------ --------------
##                    suport_ven   sim, invasivo   sim, não invasivo          não          Total
##   gesta_puerp_SN                                                                             
##              não                   10 (17.9%)          26 (46.4%)   20 (35.7%)    56 (100.0%)
##              sim                   10 ( 9.6%)          36 (34.6%)   58 (55.8%)   104 (100.0%)
##            Total                   20 (12.5%)          62 (38.8%)   78 (48.8%)   160 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     6.292      2     0.043  
## ----------------------------

Centro-oeste:

dados_aux1 <- filter(dados_psm, region == "central")

ctable(dados_aux1$gest_puerp, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ------------ ------------ --------------- ------------------- ------------ -------------
##                suport_ven   sim, invasivo   sim, não invasivo          não         Total
##   gest_puerp                                                                            
##          não                    8 (28.6%)           5 (17.9%)   15 (53.6%)   28 (100.0%)
##        gesta                    6 (18.8%)           9 (28.1%)   17 (53.1%)   32 (100.0%)
##        puerp                    7 (20.0%)          11 (31.4%)   17 (48.6%)   35 (100.0%)
##        Total                   21 (22.1%)          25 (26.3%)   49 (51.6%)   95 (100.0%)
## ------------ ------------ --------------- ------------------- ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.009      4    0.7341  
## ----------------------------
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------ -------------
##                    suport_ven   sim, invasivo   sim, não invasivo          não         Total
##   gesta_puerp_SN                                                                            
##              não                    8 (28.6%)           5 (17.9%)   15 (53.6%)   28 (100.0%)
##              sim                   13 (19.4%)          20 (29.9%)   34 (50.7%)   67 (100.0%)
##            Total                   21 (22.1%)          25 (26.3%)   49 (51.6%)   95 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.861      2    0.3944  
## ----------------------------

Norte:

dados_aux1 <- filter(dados_psm, region == "north")

ctable(dados_aux1$gest_puerp, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ------------ ------------ --------------- ------------------- ------------ -------------
##                suport_ven   sim, invasivo   sim, não invasivo          não         Total
##   gest_puerp                                                                            
##          não                    9 (30.0%)          16 (53.3%)    5 (16.7%)   30 (100.0%)
##        gesta                    4 (16.0%)           4 (16.0%)   17 (68.0%)   25 (100.0%)
##        puerp                    8 (29.6%)           8 (29.6%)   11 (40.7%)   27 (100.0%)
##        Total                   21 (25.6%)          28 (34.1%)   33 (40.2%)   82 (100.0%)
## ------------ ------------ --------------- ------------------- ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     16.04      4     0.003  
## ----------------------------
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$suport_ven, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * suport_ven  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ------------ --------------- ------------------- ------------ -------------
##                    suport_ven   sim, invasivo   sim, não invasivo          não         Total
##   gesta_puerp_SN                                                                            
##              não                    9 (30.0%)          16 (53.3%)    5 (16.7%)   30 (100.0%)
##              sim                   12 (23.1%)          12 (23.1%)   28 (53.8%)   52 (100.0%)
##            Total                   21 (25.6%)          28 (34.1%)   33 (40.2%)   82 (100.0%)
## ---------------- ------------ --------------- ------------------- ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     11.99      2    0.0025  
## ----------------------------

Evolução

Sudeste:

dados_aux1 <- filter(dados_psm, region == "southeast")

ctable(dados_aux1$gest_puerp,  dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ------------ ---------- ------------- ------------ --------------
##                evolucao          Cura        Obito          Total
##   gest_puerp                                                     
##          não              134 (81.2%)   31 (18.8%)   165 (100.0%)
##        gesta              136 (92.5%)   11 ( 7.5%)   147 (100.0%)
##        puerp              116 (80.6%)   28 (19.4%)   144 (100.0%)
##        Total              386 (84.6%)   70 (15.4%)   456 (100.0%)
## ------------ ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     10.36      2    0.0056  
## ----------------------------
oi <- table(dados_aux1$gest_puerp, dados_aux1$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    31 134   165
##   gesta  11 136   147
##   puerp  28 116   144
##   Total  70 386   456
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 2.8270634 1.3973702 6.137657
##   puerp 0.9581498 0.5412619 1.701900
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact  chi.square
##   não            NA           NA          NA
##   gesta 0.003365533  0.004360877 0.005883218
##   puerp 0.883316369  0.885830849 0.998876194
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  11 136   147
##   puerp  28 116   144
##   Total  39 252   291
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.3389735 0.1545693 0.6959074
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact  chi.square
##   gesta         NA           NA          NA
##   puerp 0.00282474  0.003217852 0.004764938
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ---------- ------------- ------------ --------------
##                    evolucao          Cura        Obito          Total
##   gesta_puerp_SN                                                     
##              não              134 (81.2%)   31 (18.8%)   165 (100.0%)
##              sim              252 (86.6%)   39 (13.4%)   291 (100.0%)
##            Total              386 (84.6%)   70 (15.4%)   456 (100.0%)
## ---------------- ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     1.954      1    0.1621  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.67        0.40       1.12   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.94       0.94      0.94   
## --------------------------------

Nordeste:

dados_aux1 <- filter(dados_psm, region == "northeast")

ctable(dados_aux1$gest_puerp, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ------------ ---------- ------------- ------------ --------------
##                evolucao          Cura        Obito          Total
##   gest_puerp                                                     
##          não               66 (83.5%)   13 (16.5%)    79 (100.0%)
##        gesta               89 (89.0%)   11 (11.0%)   100 (100.0%)
##        puerp               73 (76.0%)   23 (24.0%)    96 (100.0%)
##        Total              228 (82.9%)   47 (17.1%)   275 (100.0%)
## ------------ ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     5.836      2     0.054  
## ----------------------------
oi <- table(dados_aux1$gest_puerp, dados_aux1$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    13  66    79
##   gesta  11  89   100
##   puerp  23  73    96
##   Total  47 228   275
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 1.586251 0.6624172 3.864776
##   puerp 0.629524 0.2867324 1.332914
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.2991577    0.3774133  0.3993320
##   puerp  0.2289832    0.2617682  0.3011507
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta  11  89   100
##   puerp  23  73    96
##   Total  34 162   196
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower     upper
##   gesta 1.0000000        NA        NA
##   puerp 0.3967256 0.1742291 0.8551346
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp 0.01788115   0.02282685 0.02735749
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ---------- ------------- ------------ --------------
##                    evolucao          Cura        Obito          Total
##   gesta_puerp_SN                                                     
##              não               66 (83.5%)   13 (16.5%)    79 (100.0%)
##              sim              162 (82.7%)   34 (17.3%)   196 (100.0%)
##            Total              228 (82.9%)   47 (17.1%)   275 (100.0%)
## ---------------- ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##       0        1    0.9995  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.07        0.53       2.15   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.01       1.01      1.01   
## --------------------------------

Sul:

dados_aux1 <- filter(dados_psm, region == "south")

ctable(dados_aux1$gest_puerp, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ------------ ---------- ------------- ------------ --------------
##                evolucao          Cura        Obito          Total
##   gest_puerp                                                     
##          não               51 (89.5%)    6 (10.5%)    57 (100.0%)
##        gesta               46 (88.5%)    6 (11.5%)    52 (100.0%)
##        puerp               48 (88.9%)    6 (11.1%)    54 (100.0%)
##        Total              145 (89.0%)   18 (11.0%)   163 (100.0%)
## ------------ ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##    0.0287      2    0.9857  
## ----------------------------
oi <- table(dados_aux1$gest_puerp, dados_aux1$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não     6  51    57
##   gesta   6  46    52
##   puerp   6  48    54
##   Total  18 145   163
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate     lower    upper
##   não   1.0000000        NA       NA
##   gesta 0.9028314 0.2581845 3.156400
##   puerp 0.9417123 0.2696806 3.288047
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta  0.8701552            1          1
##   puerp  0.9233746            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta   6  46    52
##   puerp   6  48    54
##   Total  12  94   106
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 1.043043 0.2977925 3.654128
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.9463428            1          1
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ---------- ------------- ------------ --------------
##                    evolucao          Cura        Obito          Total
##   gesta_puerp_SN                                                     
##              não               51 (89.5%)    6 (10.5%)    57 (100.0%)
##              sim               94 (88.7%)   12 (11.3%)   106 (100.0%)
##            Total              145 (89.0%)   18 (11.0%)   163 (100.0%)
## ---------------- ---------- ------------- ------------ --------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##       0        1       1    
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     1.09        0.38       3.06   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     1.01       1.01      1.01   
## --------------------------------

Centro-oeste:

dados_aux1 <- filter(dados_psm, region == "central")

ctable(dados_aux1$gest_puerp, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ------------ ---------- ------------ ------------ -------------
##                evolucao         Cura        Obito         Total
##   gest_puerp                                                   
##          não              20 (71.4%)    8 (28.6%)   28 (100.0%)
##        gesta              31 (91.2%)    3 ( 8.8%)   34 (100.0%)
##        puerp              31 (83.8%)    6 (16.2%)   37 (100.0%)
##        Total              82 (82.8%)   17 (17.2%)   99 (100.0%)
## ------------ ---------- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     4.248      2    0.1195  
## ----------------------------
oi <- table(dados_aux1$gest_puerp, dados_aux1$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não     8  20    28
##   gesta   3  31    34
##   puerp   6  31    37
##   Total  17  82    99
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower     upper
##   não   1.000000        NA        NA
##   gesta 3.932584 0.9793738 20.778952
##   puerp 2.031804 0.6040388  7.199237
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   não           NA           NA         NA
##   gesta 0.05367952   0.05292255 0.09072382
##   puerp 0.25179432   0.36120365 0.37066807
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta   3  31    34
##   puerp   6  31    37
##   Total   9  62    71
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos   estimate      lower    upper
##   gesta 1.0000000         NA       NA
##   puerp 0.5158909 0.09557612 2.215257
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.3804982    0.4817971  0.5630738
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ---------- ------------ ------------ -------------
##                    evolucao         Cura        Obito         Total
##   gesta_puerp_SN                                                   
##              não              20 (71.4%)    8 (28.6%)   28 (100.0%)
##              sim              62 (87.3%)    9 (12.7%)   71 (100.0%)
##            Total              82 (82.8%)   17 (17.2%)   99 (100.0%)
## ---------------- ---------- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     2.537      1    0.1112  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##     0.36        0.12       1.07   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.82       0.82      0.82   
## --------------------------------

Norte:

dados_aux1 <- filter(dados_psm, region == "north")

ctable(dados_aux1$gest_puerp, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gest_puerp * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ------------ ---------- ------------ ------------ -------------
##                evolucao         Cura        Obito         Total
##   gest_puerp                                                   
##          não              17 (54.8%)   14 (45.2%)   31 (100.0%)
##        gesta              24 (88.9%)    3 (11.1%)   27 (100.0%)
##        puerp              23 (79.3%)    6 (20.7%)   29 (100.0%)
##        Total              64 (73.6%)   23 (26.4%)   87 (100.0%)
## ------------ ---------- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     9.342      2    0.0094  
## ----------------------------
oi <- table(dados_aux1$gest_puerp, dados_aux1$evolucao)
odds_function(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   não    14  17    31
##   gesta   3  24    27
##   puerp   6  23    29
##   Total  23  64    87
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   não   1.000000        NA       NA
##   gesta 6.176957 1.6721299 31.52207
##   puerp 3.061936 0.9953193 10.42637
## 
## $p.value
##        two-sided
## Grupos   midp.exact fisher.exact chi.square
##   não            NA           NA         NA
##   gesta 0.005079242  0.008197072 0.01069365
##   puerp 0.050989093  0.057855470 0.08266659
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
odds_function1(oi)
## $data
##        Var Present
## Grupos  nao sim Total
##   gesta   3  24    27
##   puerp   6  23    29
##   Total   9  47    56
## 
## $measure
##        odds ratio with 95% C.I.
## Grupos  estimate     lower    upper
##   gesta 1.000000        NA       NA
##   puerp 0.495651 0.0897621 2.189282
## 
## $p.value
##        two-sided
## Grupos  midp.exact fisher.exact chi.square
##   gesta         NA           NA         NA
##   puerp  0.3612617    0.4718077  0.5411068
## 
## $correction
## [1] TRUE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
ctable(dados_aux1$gesta_puerp_SN, dados_aux1$evolucao, prop="r", OR=TRUE, useNA = "no", chisq = TRUE)
## Cross-Tabulation, Row Proportions  
## gesta_puerp_SN * evolucao  
## Data Frame: dados_aux1  
## 
## 
## ---------------- ---------- ------------ ------------ -------------
##                    evolucao         Cura        Obito         Total
##   gesta_puerp_SN                                                   
##              não              17 (54.8%)   14 (45.2%)   31 (100.0%)
##              sim              47 (83.9%)    9 (16.1%)   56 (100.0%)
##            Total              64 (73.6%)   23 (26.4%)   87 (100.0%)
## ---------------- ---------- ------------ ------------ -------------
## 
## ----------------------------
##  Chi.squared   df   p.value 
## ------------- ---- ---------
##     7.251      1    0.0071  
## ----------------------------
## 
## ----------------------------------
##  Odds Ratio   Lo - 95%   Hi - 95% 
## ------------ ---------- ----------
##    0.233       0.085      0.635   
## ----------------------------------
## 
## --------------------------------
##  Risk Ratio   Lo - 0%   Hi - 0% 
## ------------ --------- ---------
##     0.65       0.65      0.65   
## --------------------------------