Last active
April 15, 2020 15:23
-
-
Save sergiospagnuolo/d76f1c41fea201c926bf141afc140dc4 to your computer and use it in GitHub Desktop.
Análise de dados sobre congestionamento fornecidos pelo Banco Interamericano de Desenvolvimento
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
library(clipr) | |
# BRASIL - GERAL | |
# média de distanciamento social | |
bid %>% | |
filter(data> '2020-03-15' & region_type == "country" & dia_semana != "domingo") %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por dia da semana | |
b <- bid %>% | |
filter(data> '2020-03-15' & region_type == "country") %>% | |
group_by(dia_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por período da semana (fim de semana ou dia da semana) | |
bid %>% | |
filter(data> '2020-03-15' & data < '2020-03-23' & region_type == "country") %>% | |
group_by(periodo_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# por período da semana com agrupamento por data | |
write_clip(bid %>% | |
filter(data> '2020-03-15' & region_type == "country") %>% | |
group_by(data, dia_semana, periodo_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100))) | |
# análise por semana | |
bid %>% | |
filter(data> '2020-03-15' & region_type == "country" & qual_semana != "semana 5 incompleta") %>% | |
group_by(qual_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) %>% | |
ggplot() + geom_bar(aes(qual_semana, media), stat = "identity", position = "dodge") | |
# análise por semana média móvel | |
a <- bid %>% | |
filter(region_type == "country" & qual_semana != "semana 5 incompleta") %>% | |
group_by(qual_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) %>% | |
# mutate(lag1=lag(media), lag2=lag(media,2), movave=(lag1+lag2)/2) | |
mutate(med_movel=rollapply(media,2,mean,align='right',fill=NA)) | |
# análise sem dias de semana | |
bid %>% | |
filter(data> '2020-03-15' & region_type == "country" & periodo_semana == "fim de semana") %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# análise sem fins de semana | |
bid %>% | |
filter(data> '2020-03-15' & region_type == "country" & periodo_semana == "dia de semana") %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# SÃO PAULO | |
# média de distanciamento social | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "São Paulo") %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por dia da semana | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "São Paulo") %>% | |
group_by(dia_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por período da semana (fim de semana ou dia da semana) | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "São Paulo") %>% | |
group_by(periodo_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por período da semana com agrupamento por data | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "São Paulo") %>% | |
group_by(data, dia_semana, periodo_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# análise por semana | |
c <- bid %>% | |
filter(data > '2020-03-15' & region_type == "city") %>% | |
group_by(region_name, qual_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# RIO DE JANEIRO | |
# média de distanciamento social | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "Rio de Janeiro") %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por dia da semana | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "Rio de Janeiro") %>% | |
group_by(dia_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
# distanciamento social por período da semana (fim de semana ou dia da semana) | |
bid %>% | |
filter(data > '2020-03-15' & region_type == "city" & region_name == "Rio de Janeiro") %>% | |
group_by(periodo_semana) %>% | |
summarise(media = mean((ratio_20 - 1) * 100), mediana = median((ratio_20 - 1) * 100)) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(readr) | |
library(tidyverse) | |
# DADOS DE MOBILIDADE BID/WAZE | |
bid <- read_csv('https://docs.google.com/spreadsheets/d/16SIYidLScgFZOeqpHmAo_u_rFmuxxpCCWeRAXSDOT3I/export?format=csv&id') | |
# agrega datas | |
bid$data <- as.Date(paste0(2020,"-", bid$month,"-", bid$day)) | |
bid$dia_semana <- ifelse(bid$dow == 1, "segunda", | |
ifelse(bid$dow == 2, "terça", | |
ifelse(bid$dow == 3, "quarta", | |
ifelse(bid$dow == 4, "quinta", | |
ifelse(bid$dow == 5, "sexta", | |
ifelse(bid$dow == 6, "sábado", | |
ifelse(bid$dow == 7, "domingo", "" | |
))))))) | |
bid$periodo_semana <- ifelse(bid$dia_semana == 'sábado' | bid$dia_semana == 'domingo', "fim de semana", "dia de semana") | |
bid$qual_semana <- ifelse(bid$data >= "2020-03-09" & bid$data <= "2020-03-15", "semana 0", | |
ifelse(bid$data >= "2020-03-16" & bid$data <= "2020-03-22", "semana 1", | |
ifelse(bid$data >= "2020-03-13" & bid$data <= "2020-03-29", "semana 2", | |
ifelse(bid$data >= "2020-03-30" & bid$data <= "2020-04-05", "semana 3", | |
ifelse(bid$data >= "2020-04-06" & bid$data <= "2020-04-12", "semana 4", "semana 5 incompleta" | |
))))) | |
# filtra apenas Brasil | |
bid <- bid %>% filter(country_name == "Brazil") | |
# DADOS DE MOBILIDADE GOOGLE | |
google <- read_csv('https://raw.githubusercontent.com/vitorbaptista/google-covid19-mobility-reports/master/data/processed/mobility_reports.csv') | |
# filtra apenas Brasil | |
google <- google %>% filter(region == "Brazil") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment