-
Notifications
You must be signed in to change notification settings - Fork 0
/
atualiza_dados.R
129 lines (87 loc) · 6.51 KB
/
atualiza_dados.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
## library("googlesheets4")
## # contains magic links
## source("./not_for_git/doc_link.R")
## # public access
## sheets_deauth()
## dados <- sheets_read(doc_link, 1)
## d <- data.frame(day=as.Date(dados[,1]$day), state=unlist(dados[,2]),
## suspect.cases=as.numeric(as.character(dados[,3]$suspect.cases)),
## confirmed.cases=as.numeric(as.character(dados[,4]$total.confirmed.cases)),
## discarded.cases=as.numeric(as.character(dados[,5]$discarded.cases)),
## deaths=as.numeric(as.character(dados[,6]$deaths)),
## local.transmission=as.character(dados[,7]$local.transmission)
## )
## write.csv(d, file = "./dados/covid_estados_manual.csv", row.names = FALSE)
## brasil_manual <- read.csv(doc_brasil)
## write.csv(brasil_manual, file = "./dados/covid_brasil_manual.csv", row.names = FALSE)
###########################################
# Atualizando tabela do ministério da saúde
#system("curl -s 'https://xx9p7hp1p7.execute-api.us-east-1.amazonaws.com/prod/PortalMapa' -H 'X-Parse-Application-Id: unAFkcaNDeXajurGB7LChj8SgQYS2ptm' -H 'TE: Trailers' | jq -r '.results | (map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv' > ./dados/covid_estados_auto_curr.csv")
#dados_brasil <- read.csv("./dados/covid_estados_auto.csv", as.is = TRUE)
#dados_curr <- dados_curr[order(dados_curr$nome),]
## dados_brasil$day <- as.Date(dados_brasil$day)
## dados_curr$day <- max(as.Date(sapply(strsplit(dados_curr$updatedAt, split = "T"), function(x){x[1]})))
## curr_casos <- data.frame(nome = dados_curr$nome, qtd_confirmado = dados_curr$qtd_confirmado)
## dados_curr$casos_novos <- curr_casos$qtd_confirmado - dados_brasil$qtd_confirmado[c(nrow(dados_brasil)-26):nrow(dados_brasil)]
## if(max(dados_curr$day) != max(dados_brasil$day)){
## dados_brasil <- rbind(dados_brasil, dados_curr)
## }
## dados_brasil <- dados_brasil[!duplicated(dados_brasil),]
##
## dados_curr <- read.csv(paste0("https://covid.saude.gov.br/assets/files/COVID19_", format(Sys.Date(), "%Y%m%d"), ".csv"), as.is = TRUE, sep = ";")
## dados_curr$data <- as.Date(dados_curr$data, format = "%d/%m/%y")
## write.csv(dados_curr, file = paste0("./dados/BRnCov19_", format(max(dados_curr$data), "%Y%m%d"), ".csv"), row.names = FALSE)
## file <- paste0("~/Downloads/COVID19_", format(Sys.Date(), format = "%Y%m%d"), ".csv")
## if(length(grep(",", readLines(file, n = 3))) == 0){
## dados.raw <- read.csv(file, as.is = TRUE, sep = ";")
## } else {
## dados.raw <- read.csv(file, as.is = TRUE, sep = ",")
## }
#ordem <- sapply(dados.raw[, 4:7], function(x){sum(diff(x) < 0)})
#dados.full <- cbind(dados.raw[, 1:3], dados.raw[, c(names(sort(ordem))[c(4, 2, 3, 1)])])
library("readxl")
library("zip")
Sys.setlocale(locale = "pt_BR.UTF-8")
file <- paste0("~/Downloads/HIST_PAINEL_COVIDBR_", format(Sys.Date(), format = "%d%b%Y"), ".zip")
tryCatch(unzip(file, exdir = "~/Downloads"), error = function(x){print("bleh")})
#dados.raw <- read_excel(file, sheet = "Sheet 1", col_types = c("text", "text", "text", "numeric", "numeric", "numeric", "text", "text", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "logical"))
dados.raw <- read.csv(gsub(".zip", ".csv", file), sep = ";")
dados.raw <- dados.raw[!is.na(dados.raw$data),]
dados.raw$data <- gsub(" UTC", "", dados.raw$data)
if(is.na(as.integer(dados.raw$data[1]))){
dados.raw$data <- as.Date(dados.raw$data)
} else {
dados.raw$data <- as.Date(as.integer(dados.raw$data), origin = "1900-01-01") - 2
}
dados.full <- dados.raw[dados.raw$regiao != "Brasil", ]
dados.full <- dados.full[!is.na(dados.full$codmun), ]
dados.full <- dados.full[!is.na(dados.full$municipio), ]
dados.full <- dados.full[order(dados.full$codmun, dados.full$data),]
#dados.full$novos.casos <- c(1, diff(dados.full$casosAcumulado))
#dados.full$obitos.novos <- c(0, diff(dados.full$obitosAcumulado))
#dados.full$novos.casos[dados.full$novos.casos < 0] <- 1
#dados.full$obitos.novos[dados.full$obitos.novos < 0] <- 0
names(dados.full) <- c("regiao", "estado", "municipio", "coduf", "codmun", "codRegiaoSaude", "nomeRegiaoSaude", "data", "semanaEpi", "populacaoTCU2019", "casos.acumulados", "novos.casos", "obitos.acumulados", "obitos.novos", "recuperados.novos", "acompanhamento.novos", "FgMetro")
dados.full <- dados.full[!duplicated(dados.full),]
## if(sum(is.na(as.Date(dados.full$data, format = "%d/%m/%Y"))) == 0){
## dados.full$data <- as.Date(dados.full$data, format = "%d/%m/%Y")
## } else {
## dados.full$data <- as.Date(dados.full$data, format = "%Y-%m-%d")
## }
write.table(dados.full, file = paste0("./dados/BRnCov19_", format(Sys.Date(), format = "%Y%m%d"), ".csv"), sep = ",", row.names = FALSE)
zipr(paste0("./dados/BRnCov19_", format(Sys.Date(), format = "%Y%m%d"), ".zip"), files = paste0("./dados/BRnCov19_", format(Sys.Date(), format = "%Y%m%d"), ".csv"))
file.remove(paste0("./dados/BRnCov19_", format(Sys.Date(), format = "%Y%m%d"), ".csv"))
dados.estados <- dados.raw[dados.raw$regiao != "Brasil",]
dados.estados <- dados.estados[is.na(dados.estados$codmun),]
dados.estados <- dados.estados[order(dados.estados$coduf, dados.estados$data),]
#dados.estados$novos.casos <- c(1, diff(dados.estados$casosAcumulado))
#dados.estados$obitos.novos <- c(0, diff(dados.estados$obitosAcumulado))
#dados.estados$novos.casos[dados.estados$novos.casos < 0] <- 1
#dados.estados$obitos.novos[dados.estados$obitos.novos < 0] <- 0
names(dados.estados) <- c("regiao", "estado", "municipio", "coduf", "codmun", "codRegiaoSaude", "nomeRegiaoSaude", "data", "semanaEpi", "populacaoTCU2019", "casos.acumulados", "novos.casos", "obitos.acumulados", "obitos.novos", "recuperados.novos", "acompanhamento.novos", "FgMetro")
write.table(dados.estados[, c("regiao", "estado", "data", "novos.casos", "casos.acumulados", "obitos.novos", "obitos.acumulados")], file = "./dados/EstadosCov19.csv", sep = ",", row.names = FALSE)
dados.br <- dados.raw[dados.raw$regiao == "Brasil",]
#dados.br$novos.casos <- c(1, diff(dados.br$casosAcumulado))
#dados.br$obitos.novos <- c(0, diff(dados.br$obitosAcumulado))
names(dados.br) <- c("regiao", "estado", "municipio", "coduf", "codmun", "codRegiaoSaude", "nomeRegiaoSaude", "data", "semanaEpi", "populacaoTCU2019", "casos.acumulados", "novos.casos", "obitos.acumulados", "obitos.novos", "recuperados.novos", "acompanhamento.novos", "FgMetro")
write.table(dados.br[, c("data", "novos.casos", "casos.acumulados", "obitos.novos", "obitos.acumulados")], file = "./dados/BrasilCov19.csv", sep = ",", row.names = FALSE)