# Pacotes
#devtools::install_github("renkun-ken/formattable")
library(tidyverse)
# library(formattable)
porcent <- function(x){
y = paste(round(x*100,2), '%')
return(y)
}
A Covid-19 é uma infecão respiratória aguda causada pelo coronavírus SARS-CoV-2, potencialmente grave, de elevada transmissibilidade e de distribuição global.
Os dados são referentes a casos notificados de covid-19 em Mato Grosso, no ano de 2021.
dados_corona_total <- readxl::read_excel("C:/Users/USER/Laboratorio/Corona/dados_corona.xlsx")
glimpse(dados_corona_total)
## Rows: 579,663
## Columns: 25
## $ CodigoIBGERegiao <chr> "5101", "5101", "5101", "5101", "5101", "5101", ~
## $ RegiaoSaude <chr> "Médio Araguaia", "Médio Araguaia", "Médio Aragu~
## $ CodigoIBGE <chr> "510706", "510706", "510706", "510706", "510706"~
## $ Municipio <chr> "Querência", "Querência", "Querência", "Querênci~
## $ DataNotificacao <chr> "08/07/2020 00:00:00", "07/06/2020 00:00:00", "0~
## $ idade <chr> "68", "42", "67", "38", "7", "40", "7", "26", "3~
## $ Sexo <chr> "Masculino", "Masculino", "Masculino", "Feminino~
## $ RacaCor <chr> "Branca", NA, NA, "Parda", "Parda", "Parda", "Br~
## $ ProfissionalSaude <chr> "Não", NA, NA, "Não", "Não", "Não", "Não", NA, N~
## $ ProfissionalSeguranca <chr> "Não", NA, NA, "Não", "Não", "Não", "Não", NA, N~
## $ DataInicioSintomas <chr> "29/06/2020 00:00:00", "02/06/2020 00:00:00", "0~
## $ Comorbidade <chr> "Sim", "Não", "Sim", "Não", "Sim", "Não", "Não",~
## $ Cardiovascular <chr> NA, "Não", "Sim", "Não", "Sim", "Não", "Não", "N~
## $ Diabetes <chr> "Sim", "Não", "Não", "Não", "Não", "Não", "Não",~
## $ Hipertensao <chr> "Sim", "Não", "Não", "Não", "Não", "Não", "Não",~
## $ Neoplasia <chr> NA, "Não", "Não", "Não", "Não", "Não", "Não", "N~
## $ Obesidade <chr> NA, "Não", "Não", "Não", "Não", "Não", "Não", "N~
## $ Pulmonar <chr> NA, "Não", "Não", "Não", "Não", "Não", "Não", "N~
## $ Situacao <chr> "Óbito", "Recuperado", "Recuperado", "Recuperado~
## $ Hospitalizado <chr> "Não", "Não", "Não", "Não", "Não", "Não", "Não",~
## $ FechamentoCaso <chr> "Confirmado Clínico", "Confirmado Laboratorial",~
## $ DataModificacaoObito <chr> "25/07/2020 10:19:41", NA, NA, NA, NA, NA, NA, N~
## $ DataEncerramentoCaso <chr> "21/07/2020 00:00:00", "19/06/2020 00:00:00", "2~
## $ Gestante <chr> "Não", NA, NA, "Não", "Não", "Não", "Não", NA, N~
## $ Seq_Row_Number <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10~
dados_corona <- dados_corona_total %>% drop_na(-DataModificacaoObito)
# Ajuste dos dados
dados_corona_total <- dados_corona_total %>%
mutate(idade = as.numeric(idade),
ProfissionalSeguranca = ifelse(ProfissionalSeguranca == 'N?o', 'Não',ProfissionalSeguranca),
ProfissionalSaude = ifelse(ProfissionalSaude == 'N?o', 'Não',ProfissionalSaude))
No ano de 2021 foram registrados 579.663 casos de covid-19 em Mato Grosso. Desses casos, 94,5% dos infectados foram recuperados, 2,4% morreram por causa da doença.
# Situação, total de obitos
total <- nrow(dados_corona_total)
a <- dados_corona_total %>%
group_by(Situacao) %>%
summarise(n = n(), '%' = porcent(n/total))
DT::datatable(a, options = list(dom = 't'), filter = "none")
######## Analise por idade ########
morte <- dados_corona_total %>% filter(Situacao == "Óbito", !is.null(idade))
morte_idade <-
morte %>%
filter(!is.null(idade)) %>%
select(idade) %>%
mutate(FaixaEtaria = ifelse(idade >= 0 & idade <= 20, "0 a 20",
ifelse(idade > 20 & idade <= 40, "21 a 40",
ifelse(idade > 40 & idade <= 60, "41 a 60",
ifelse(idade > 60 & idade <= 80, "61 a 80",
"mais de 80"))))) %>%
group_by(FaixaEtaria) %>%
summarise(n_obitos = n(), '%' = porcent(n()/nrow(morte)))
idade_casos <-
dados_corona_total %>%
filter(!is.null(idade)) %>%
select(idade) %>%
mutate(FaixaEtaria = ifelse(idade >= 0 & idade <= 20, "0 a 20",
ifelse(idade > 20 & idade <= 40, "21 a 40",
ifelse(idade > 40 & idade <= 60, "41 a 60",
ifelse(idade > 60 & idade <= 80, "61 a 80",
"mais de 80"))))) %>%
group_by(FaixaEtaria) %>%
summarise(n_casos = n(), '% ' = porcent(n()/total))
idade <- idade_casos %>% left_join(morte_idade, by = "FaixaEtaria")
idade1 <- idade %>% rename('nº de casos' = n_casos,
'nº de óbitos' = n_obitos)
DT::datatable(idade1, options = list(dom = 't'), filter = "none")
# Histograma de idade
par(mfrow=c(1, 2))
hist(dados_corona_total$idade,
xlim = c(0,100),
xlab = "Idade",
ylab = "Frequencia",
main = "Histograma de Casos por Idade")
hist(morte$idade,
xlim = c(0,100),
xlab = "Idade",
ylab = "Frequencia",
main = "Histograma de óbitos por Idade")
a <- idade %>% mutate(n = porcent(n_obitos/n_casos)) %>%
select(FaixaEtaria, n) %>%
rename("% Obitos" = n)
DT::datatable(a, options = list(dom = 't'), filter = "none", width = "50%")
Observa-se um aumento da porcentagem de óbitos causados pelo covid conforme a idade aumenta. A maior porcentagem foi para pessoas com mais de 80 anos, sendo 26,4% dos infectados morreram. Enquanto que para menores de 20 anos a porcentagem foi de 0,08%
######## Analise por comorbidade #######
# Porcentagem de comorbidade por sexo
#
# dados_corona %>%
# group_by(Sexo, Comorbidade) %>%
# count() %>% spread(Sexo,n) %>%
# arrange(desc(Comorbidade))
# Numero de casos registrados para cada tipo de comorbidade
#names(dados_corona)[13:18] #Comorbidades
comorbidade <-
dados_corona_total %>%
filter(Cardiovascular == 'Sim') %>%
group_by(Sexo, Cardiovascular) %>%
count() %>%
spread(Cardiovascular, n) %>%
rename(Cardiovascular = Sim)
comorbidade <-
dados_corona_total %>%
filter(Hipertensao == 'Sim') %>%
group_by(Sexo, Hipertensao) %>%
count() %>%
spread(Hipertensao, n) %>%
rename(Hipertensao = Sim) %>%
left_join(comorbidade)
comorbidade <-
dados_corona_total %>%
filter(Diabetes == 'Sim') %>%
group_by(Sexo, Diabetes) %>%
count() %>%
spread(Diabetes, n) %>%
rename(Diabetes = Sim) %>%
left_join(comorbidade)
comorbidade <-
dados_corona_total %>%
filter(Neoplasia == 'Sim') %>%
group_by(Sexo, Neoplasia) %>%
count() %>%
spread(Neoplasia, n) %>%
rename(Neoplasia = Sim) %>%
left_join(comorbidade)
comorbidade <-
dados_corona_total %>%
filter(Obesidade == 'Sim') %>%
group_by(Sexo, Obesidade) %>%
count() %>%
spread(Obesidade, n) %>%
rename(Obesidade = Sim) %>%
left_join(comorbidade)
comorbidade <-
dados_corona_total %>%
filter(Pulmonar == 'Sim') %>%
group_by(Sexo, Pulmonar) %>%
count() %>%
spread(Pulmonar, n) %>%
rename(Pulmonar = Sim) %>%
left_join(comorbidade)
DT::datatable(comorbidade, options = list(dom = 't'), filter = "none")
teste <- dados_corona_total %>%
filter(!is.na(Hospitalizado) &!is.na(Gestante)) %>%
group_by(Gestante, Hospitalizado) %>%
count() %>% spread(Gestante, n) %>%
rename( Gestante = Sim,
NaoGestante = Não)
teste
## # A tibble: 2 x 3
## # Groups: Hospitalizado [2]
## Hospitalizado NaoGestante Gestante
## <chr> <int> <int>
## 1 Não 569171 3066
## 2 Sim 501 16
chisq.test(teste[,2:3])
## Warning in chisq.test(teste[, 2:3]): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: teste[, 2:3]
## X-squared = 58.508, df = 1, p-value = 2.024e-14
# Sexo x Situaçao x Hospitaliza??o
dados_corona_total %>%
filter(!is.na(Situacao)) %>%
group_by(Sexo, Situacao) %>%
count() %>% spread(Sexo, n) %>%
DT::datatable(options = list(dom = 't'), filter = "none")
dados_corona_total %>%
filter(!is.na(Hospitalizado) & !is.na(ProfissionalSeguranca)) %>%
group_by(ProfissionalSeguranca, Hospitalizado) %>%
count() %>% spread(ProfissionalSeguranca, n) %>%
arrange(desc(Hospitalizado)) %>%
DT::datatable(options = list(dom = 't'), filter = "none")