Para ver los datos en un mapa, cargaremos el shapefile mundial desde el paquete tmap y seleccionaremos los países de América Latina y el 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, ]

Ahora descarguemos la última actualización de los datos curados por 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 mostrar los datos en el mapa, necesitamos combinar los datos de los casos de COVID-19 en América Latina y el Caribe con los datos del shapefile de la región.

covid_lac <- merge(lac, df_lac, by = "country_region")
covid_lac$confirmed_per100k <- covid_lac$confirmed/covid_lac$pop_est * 100000

Y ahora, visualicemos los datos en un mapa dinámico.

Para obtener las clases y el texto de la leyenda:

#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])

El 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