knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE, results = FALSE, comment = FALSE, fig.width = 6, fig.height = 6) devtools::load_all() library(tmap)
library(coronabr) library(tmap)
Para visualizar os dados em um mapa, vamos carregar o shapefile do mundo do pacote tmap e selecionar os países da América Latina e Caribe.
# carregando o shapefile do mundo data("World") # from tmap # criando vetor com paises fora da latinoamerica e caribe (lac) fora <- c("Canada", "United States", "Greenland") # selecionando apenas paises lac lac <- World[World$continent %in% c("South America", "North America") & !World$name %in% fora, ]
Agora vamos baixar a última atualização dos dados curados pela John Hopkins University.
# baixando os dados de covid-19 para o mundo dados_jhu <- get_corona_jhu() # checando se todos paises lac entao em jhu lac$name[!lac$name %in% dados_jhu$country_region] # vamos alterar os nomes em lac para bater com jhu lac$country_region <- as.character(lac$name) lac$country_region[lac$country_region == "Dominican Rep."] <- "Dominican Republic" # selecionando apenas países da lac dados_lac <- dados_jhu[dados_jhu$country_region %in% lac$country_region, ] # agregando dados por país df_lac <- aggregate(confirmed ~ country_region, data = dados_lac, FUN = sum)
Para fazer visualizar os dados no mapa, precisamos juntar os dados de casos de COVID-19 na América Latina e Caribe com os dados do shapefile para a região.
covid_lac <- merge(lac, df_lac, by = "country_region") covid_lac$confirmed_per100k <- (covid_lac$confirmed/covid_lac$pop_est) * 100000
E agora sim, vamos visualizar os dados em um mapa dinâmico.
Para obter as classes e o texto da legenda:
#maxi <- ceiling(max(covid_lac$confirmed_per100k)/100)*100 #breaks <- c(0, 500, 1000, 2000, 3000, maxi) h <- hist(covid_lac$confirmed_per100k, plot = F) breaks <- h$breaks text <- paste(breaks[1:length(breaks)-1], "a", breaks[2:length(breaks)]) text[length(breaks)-1] <- paste(">", breaks[length(breaks)-1])
O mapa:
tmap_mode("view") tm <- tm_shape(covid_lac) + tm_polygons("confirmed_per100k", title = "Casos por 100 mil hab.", breaks = breaks, labels = text) + tmap_style("col_blind") tm
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.