R Markdown
bd=read.csv("C:\\Users\\gabri\\Downloads\\dados-abertos (1).csv",sep=";",header=TRUE)
# baixar mais atual em https://covid19.ssp.df.gov.br/resources/dados/dados-abertos.csv?param=[random]
#obs: algumas colunas foram codificadas como números por conterem caracteres especiais
dados=data.frame(primeirossintomas=as.Date(bd$dataPrimeirosintomas,tryFormats="%d/%m/%Y"),
sexo=as.factor(bd$Sexo),
obito=as.factor(bd[,7]),
idade=bd$Idade,
pneumopatia=as.factor(bd$Pneumopatia),
nefropatia=as.factor(bd$Nefropatia),
hemato=as.factor(bd[,12]),
metabo=as.factor(bd[,13]),
imunoss=as.factor(bd[,14]),
obesidade=as.factor(bd$Obesidade),
cardiovascular=as.factor(bd$Cardiovasculopatia))
dados$datap=as.POSIXct(dados$primeirossintomas)
dados$datac=cut(dados$datap,breaks="4 weeks")
bins=length(levels(dados$datac))
n=0
obitos=0
bin=""
for(i in c(1:bins)){
bin[i]=levels(dados$datac)[i]
n[i]=sum(dados$datac==levels(dados$datac)[i])
obitos[i]=sum(dados$datac==levels(dados$datac)[i] & dados$obito=="Sim")
n
}
rr=obitos/n
tabela=data.frame(periodo=bin,n=n,obito=obitos,rr=rr)
tabela$periodo=as.Date(tabela$periodo)
# Cortar extremos (elimiar o período muito recente (não deu tempo de haver mortes) e o período inicial (latência))
tabela=subset(tabela,tabela$obito>20)
tabela
## periodo n obito rr
## 4 2020-03-23 1781 38 0.02133633
## 5 2020-04-20 8207 211 0.02570976
## 6 2020-05-18 32729 642 0.01961563
## 7 2020-06-15 48615 993 0.02042579
## 8 2020-07-13 52042 958 0.01840821
## 9 2020-08-10 38484 584 0.01517514
## 10 2020-09-07 21960 327 0.01489071
## 11 2020-10-05 16447 224 0.01361951
## 12 2020-11-02 17785 203 0.01141411
## 13 2020-11-30 21362 306 0.01432450
## 14 2020-12-28 19696 257 0.01304833
## 15 2021-01-25 15190 163 0.01073074
pbayes = function(n=52042,x=958){
th = seq(0.015,0.022,length=500)
a = 1
b = 1
post = dbeta(th,x+a,n-x+b)
plot(th,post,type="l",ylab="Density",lty=2,lwd=3,xlab = expression(theta),main="p(obito) até hoje")
}
pbayes()

ggplot(tabela, aes(x=periodo,y=rr))+geom_smooth(formula=y~x,method="loess")+scale_x_date(date_labels = "%b/%Y") + ggtitle("Modelo LOESS da mortalidade por COVID-19 no DF até 05-03-2020\n(para ver código da análise dos dados abertos: www.rpubs.com/gabrielmng")

library(bnlearn)
##
## Attaching package: 'bnlearn'
## The following object is masked from 'package:stats':
##
## sigma
bdbn=data.frame(primeirossintomas=as.factor(dados$datac),
sexo=as.factor(bd$Sexo),
idade=as.factor(cut(bd$Idade,5)),
pneumopatia=as.factor(bd$Pneumopatia),
nefropatia=as.factor(bd$Nefropatia),
hematopatia=as.factor(bd[,12]),
metabolopatia=as.factor(bd[,13]),
imunossupressao=as.factor(bd[,14]),
obesidade=as.factor(bd$Obesidade),
cardiopatia=as.factor(bd$Cardiovasculopatia),
obito=as.factor(bd[,7]))
i=1;
from="";to=""
n=(length(names(bdbn)))
## Obito não pode ser causa de nada
for(i in c(1:n)){
to[i]="obito";from[i]=names(bdbn)[i]}
## Data dos primeiros sintomas não pode ser causa de doenças prévias, apenas o contrário
n=n-1
j=1
for(j in c(1:n)){
to[j+n+1]="primeirossintomas";from[j+n+1]=names(bdbn)[j]}
## sexo não pode ser causado por nada
j=1
for(j in c(1:n)){
to[j+n+n+1]=names(bdbn)[j];from[j+n+n+1]="sexo"}
## idade não pode ser causada por nada
j=1
for(j in c(1:n)){
to[j+n+n+n+1]=names(bdbn)[j];from[j+n+n+n+1]="idade"}
blacklist=data.frame(from=from,to=to)
blacklist
## from to
## 1 primeirossintomas obito
## 2 sexo obito
## 3 idade obito
## 4 pneumopatia obito
## 5 nefropatia obito
## 6 hematopatia obito
## 7 metabolopatia obito
## 8 imunossupressao obito
## 9 obesidade obito
## 10 cardiopatia obito
## 11 obito obito
## 12 primeirossintomas primeirossintomas
## 13 sexo primeirossintomas
## 14 idade primeirossintomas
## 15 pneumopatia primeirossintomas
## 16 nefropatia primeirossintomas
## 17 hematopatia primeirossintomas
## 18 metabolopatia primeirossintomas
## 19 imunossupressao primeirossintomas
## 20 obesidade primeirossintomas
## 21 cardiopatia primeirossintomas
## 22 sexo primeirossintomas
## 23 sexo sexo
## 24 sexo idade
## 25 sexo pneumopatia
## 26 sexo nefropatia
## 27 sexo hematopatia
## 28 sexo metabolopatia
## 29 sexo imunossupressao
## 30 sexo obesidade
## 31 sexo cardiopatia
## 32 idade primeirossintomas
## 33 idade sexo
## 34 idade idade
## 35 idade pneumopatia
## 36 idade nefropatia
## 37 idade hematopatia
## 38 idade metabolopatia
## 39 idade imunossupressao
## 40 idade obesidade
## 41 idade cardiopatia
BayesNetwork=iamb(bdbn,blacklist=blacklist)
## Warning in vstruct.apply(arcs = arcs, vs = vs, nodes = nodes, debug = debug):
## vstructure pneumopatia -> cardiopatia <- metabolopatia is not applicable,
## because one or both arcs are oriented in the opposite direction.
## Warning in vstruct.apply(arcs = arcs, vs = vs, nodes = nodes, debug = debug):
## vstructure pneumopatia -> cardiopatia <- obito is not applicable, because one or
## both arcs are oriented in the opposite direction.
plot(BayesNetwork, main="Rede Bayesiana por IAMB dos fatores associados à mortalidade \npor COVID-19 no DF até 05-03-2020 usando dados abertos do GDF\n(para ver código da análise dos dados abertos: www.rpubs.com/gabrielmng)")
