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

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