After installing SaviR, you are ready to use the following functions to read in the data and create visualizations. There are functions to create plots, maps, or tables by World Health Organization (WHO) Region, Department of State (DoS) Region, or globally.
Data: The Frankenstein Dataset
onetable
- stored metadata with iso2 and iso3 codes,
country names, WHO/DoS/World Bank regions, and UN population
estimatesget_covid_df(sources = c("all", "WHO", "WHO+JHU", "WHO+Primary"))
- COVID cases/deaths dataframe from WHO and other sources.
calc_add_risk()
- Add risk matrix calculations to dataframe
(df)get_vax()
- Get vaccination data from Our World In Data
(OWID)get_combined_table(type = c("WHO", "Both", "legacy"), geometry=FALSE)
- Combine all of the above into one large df, optionally add
geometry
This snippet produces the master df with all the variables required for all of the following graphics.
# Load in data to create visuals
df_who <- get_combined_table("WHO") # China includes Taiwan, Hong Kong, and Macau data
# Data for visuals are typically as of Sunday of the current week
# but this can be determined dynamically using WHO data.
sunday_date <- df_who |>
distinct(date, dow = weekdays(date)) |>
arrange(desc(date)) |>
filter(dow == "Sunday") |>
slice(1) |>
pull(date)
Plots
plot_epicurve(df, transparent = T)
When creating epi curves for the WHO regions, the “plot_epicurve” function should take in the df with only “WHO” observations in order to match the same curve on the WHO Coronavirus Dashboard. The individual epi curves for each region can be run simply by filtering for one WHO region in the df. The function will detect that the region column has only one region and will produce the epi curve accordingly.
When creating epi curves for the DoS regions, the plot_epicurve function should take in the df with “Both” observations. Similarly to the WHO epi curves, individual epi curves can also be produce by filtering to one DoS region.
# Epi Curves for WHO -- Global
epi_curve_global <- plot_epicurve(df_who, transparent = T)
epi_curve_global
# Epi Curves for DoS -- Global
state_epi_curve <- plot_epicurve(filter(df_who, date <= sunday_date),
type = "cases",
by_cat = "State Region")
state_epi_curve
Inset plots
- We can also pass
inset = TRUE
to plot an inset plot for the most recent weeks- By default, the inset for the case plot is slightly left and cener in the plot window
- Deaths plot inset is slightly up and to the right
- Looks at the past 9 weeks of data in the inset, or
min(date) + weeks(1)
, whichever is later
inset_epi_curve <- df_who |>
filter(date <= sunday_date) |>
plot_epicurve(type = "cases", by_cat = "State Region", transparent = FALSE, inset = TRUE)
inset_epi_curve
# Regions
for (r in unique(na.omit(df_who$who_region))) {
epi_curve_regional <- plot_epicurve(filter(df_who, who_region == r), transparent = F)
print(epi_curve_regional)
}
plot_riskmatrix(df)
Note for labeling purposes, the labels variable should be added to the dataframe specifying the top 10 countries for weekly average incidence, week case percent change, and weekly total cases. Exclusion criteria: Countries with population less than 10 million and countries with weekly cases totals less than 100.
global_risk_matrix <- df_who %>%
filter(date == sunday_date) %>%
filter(population >= 10000000) %>% # Exclude population less than 10M
filter(week_case >= 100) %>%
mutate(
rank_inc = dense_rank(desc(week_case_incidence)),
rank_per = dense_rank(desc(percent_change_case)),
rank_cas = dense_rank(desc(week_case))
) %>%
mutate(labels = case_when(
rank_inc %in% 1:10 ~ country,
rank_per %in% 1:10 ~ country,
rank_cas %in% 1:10 ~ country
)) %>%
plot_riskmatrix()
global_risk_matrix
Maps
By default, get_combined_table()
does not
return geometry. This is preferable, since the size of the table is
quite large and the geometry list column takes up a lot of space in
memory. However, if we want to map these data, we can either call
get_combined_table("Both", geometry = TRUE)
, or join with
country_coords
after filtering, like so:
# Filter to only observations with date as of Sunday
# and join in geometry
df_who_mapping <- df_who %>%
filter(date == sunday_date) %>%
left_join(select(country_coords, id, geometry), by = "id")
map_burden(df, region, time_step)
The “map_burden” function takes in a pre-filtered data.frame and
computes and displays average incidence for each country over the time
period selected.
The region
argument is optional, but it is used to specify
a specific DoS/WHO region to zoom to, if desired.time_step
is used to specify the days used to average
incidence over. This is always relative to the latest date in the
data.frame.bin_breaks
and bin_colors
can be used to
over-ride sensible defaults for incidence cutpoints and color scheme, if
desired.
burden_map_global <- df_who |>
filter(date <= sunday_date) |>
map_burden()
burden_map_global
for (r in unique(na.omit(df_who$who_region))) {
burden_map_regional <- df_who |>
filter(who_region == r, date <= sunday_date) |>
map_burden(region = r)
print(burden_map_regional)
}
and an example of how to produce a 14d map:
burden_map_global_14 <- df_who |>
filter(date <= sunday_date) |>
map_burden(time_step = 14)
burden_map_global_14
We can also over-ride the incidence cut-points, like so:
# same map with 0-1, 1-5, 5-10, 10+ breaks
burden_map_global_14_2 <- df_who |>
filter(date <= sunday_date) |>
map_burden(
time_step = 14,
bin_breaks = c(0, 1, 5, 10, Inf),
bin_colors = c("0- <1" = "#f1e5a1", "1- <5" = "#e7b351", "5- <10" = "#d26230", "10+" = "#aa001e")
)
burden_map_global_14_2
map_trend(df, region, time_step = 7)
The “map_trend” function requires a result
column where
weekly percent change is converted into factors using “cut”.
The default behavior is to visualize a global trend map, but passing
a data frame filtered to a specific region and providing the region name
as a region
argument will change the bounding box
accordingly.
A different time_step
can be provided. The default
assumes you are comparing two 7d periods, but this can be increased or
decreased accordingly.
for (r in unique(na.omit(df_who$who_region))) {
trend_map_reg <- df_who |>
filter(date <= sunday_date) |>
map_trend(region = r)
print(trend_map_reg)
}
and an example producing the same with different time_step:
map_vaccinations(df, vac_type = c("People", "Fully"))
Tables
table_10mostcases(df, time_step = 7, region = NULL, data_as_of = NULL)
This function presents a top-10 table of countries based on cases
reported in the past time_step
.
The default is a 7 day period, but this can be adjusted. Additionally,
you can tweak the title and data-as-of footnote using those variables
respectively, or they will be inferred internally.
7-day Table
df_who |>
filter(date <= sunday_date) |>
table_10mostcases(data_as_of = format(sunday_date, "%B %d, %Y"))
10 Countries/ Areas with Most New Cases | ||
Country/ Area | New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Russia | 185,312 | −65.7 |
Australia | 61,322 | −14.9 |
Singapore | 57,990 | −75.8 |
Malaysia | 47,464 | −47.5 |
Argentina | 40,009 | 1,721.1 |
New Zealand | 37,842 | −9.6 |
Greece | 34,865 | −64.7 |
Chile | 34,016 | 1,310.9 |
United Kingdom | 33,652 | −40.4 |
Italy | 31,966 | −90.7 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
14-day Table
df_who |>
filter(date <= sunday_date) |>
table_10mostcases(time_step = 14)
10 Countries/ Areas with Most New Cases | ||
Country/ Area | New Cases Past 14 Days |
% Change Past 14 Days1 |
---|---|---|
Russia | 725,325 | 187.5 |
Italy | 374,074 | −9.8 |
Singapore | 297,488 | 82.7 |
Malaysia | 137,849 | 773.9 |
Greece | 133,758 | 2.2 |
Australia | 133,400 | 52.9 |
Poland | 109,069 | 235.6 |
United Kingdom | 90,072 | −39.5 |
New Zealand | 79,706 | 73.0 |
Czechia | 76,480 | 98.9 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 14 days to 14 days prior |
By region
for (r in unique(na.omit(df_who$who_region))) {
tab_out <- df_who |>
filter(date <= sunday_date, who_region == r) |>
table_10mostcases(region = r, data_as_of = format(Sys.Date(), "%B %d, %Y"))
print(htmltools::tagList(tab_out))
}
10 (AMRO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Argentina | 40,009 | 1,721.1 |
Chile | 34,016 | 1,310.9 |
Peru | 20,688 | - |
Canada | 15,529 | −59.1 |
Colombia | 13,054 | 1,234.8 |
Ecuador | 4,448 | 506.0 |
Panama | 894 | 96.1 |
Barbados | 221 | 590.6 |
Guyana | 120 | 990.9 |
Jamaica | 118 | 114.5 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
10 (EMRO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Iran | 1,541 | 0.5 |
Afghanistan | 1,348 | −30.8 |
Morocco | 589 | −22.2 |
Kuwait | 486 | 265.4 |
United Arab Emirates | 0 | - |
Bahrain | 0 | - |
Djibouti | 0 | - |
Egypt | 0 | - |
Iraq | 0 | - |
Jordan | 0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
10 (AFRO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Mauritius | 1,887 | −86.4 |
Zimbabwe | 238 | 25.3 |
Uganda | 198 | 214.3 |
Angola | 193 | −82.9 |
Namibia | 127 | 54.9 |
Burundi | 93 | −10.6 |
Mauritania | 48 | 33.3 |
Ethiopia | 40 | 66.7 |
Benin | 0 | - |
Burkina Faso | 0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
10 (EURO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Russia | 185,312 | −65.7 |
Greece | 34,865 | −64.7 |
United Kingdom | 33,652 | −40.4 |
Italy | 31,966 | −90.7 |
Poland | 19,281 | −78.5 |
Romania | 11,116 | 0.5 |
Belgium | 8,660 | −56.9 |
Czechia | 7,247 | −89.5 |
Lithuania | 5,362 | −47.7 |
Ireland | 4,140 | −13.7 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
10 (WPRO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
Australia | 61,322 | −14.9 |
Singapore | 57,990 | −75.8 |
Malaysia | 47,464 | −47.5 |
New Zealand | 37,842 | −9.6 |
China | 10,996 | 195.5 |
Brunei Darussalam | 9,132 | −55.1 |
Philippines | 5,038 | −64.1 |
Cambodia | 54 | −39.3 |
Mongolia | 48 | −68.2 |
Laos | 34 | 240.0 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
10 (SEARO) Countries/ Areas with Most New Cases | ||
Country/ Area |
New Cases Past 7 Days |
% Change Past 7 Days1 |
---|---|---|
India | 10,901 | −34.2 |
Indonesia | 4,601 | −55.5 |
Thailand | 4,199 | 6.8 |
Bangladesh | 1,823 | 376.0 |
Burma | 310 | 154.1 |
Sri Lanka | 28 | −72.8 |
Bhutan | 0 | - |
Maldives | 0 | - |
Nepal | 0 | - |
Korea (North) | 0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior |
table_10incidence(df, time_step = 7, region = NULL, data_as_of = NULL)
Similar to the above, but computes top-10 countries baseed on
incidence over past time_step
.
7-day table
df_who |>
filter(date <= sunday_date) |>
table_10incidence(data_as_of = format(sunday_date, "%B %d, %Y"))
10 Countries/ Areas with Highest Incidence | ||
Country/ Area | Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Brunei Darussalam | 290.5 | −55.1 |
Singapore | 138.6 | −75.8 |
New Zealand | 104.3 | −9.6 |
Greece | 48.0 | −64.7 |
Australia | 33.5 | −14.9 |
Lithuania | 27.9 | −47.7 |
Chile | 24.8 | 1,310.9 |
Mauritius | 20.7 | −86.4 |
Malaysia | 20.0 | −47.5 |
Luxembourg | 18.8 | −75.6 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
14-day table
df_who |>
filter(date <= sunday_date) |>
table_10incidence(time_step = 14)
10 Countries/ Areas with Highest Incidence | ||
Country/ Area | Incidence Per 100,0001 |
% Change Past 14 Days2 |
---|---|---|
Brunei Darussalam | 468.5 | 731.9 |
Niue | 384.1 | 76.3 |
Singapore | 355.6 | 82.7 |
New Zealand | 109.8 | 73.0 |
Cyprus | 103.6 | 760.9 |
Greece | 92.0 | 2.2 |
Mauritius | 86.8 | 690.7 |
Czechia | 52.1 | 98.9 |
Croatia | 48.4 | 230.1 |
Luxembourg | 48.0 | 19.9 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Average daily incidence per 100,000 in past 14 days | ||
2 Percent change in cases of most recent 14 days to 14 days prior |
By Region
for (r in unique(na.omit(df_who$who_region))) {
tab_out <- df_who %>%
filter(date <= sunday_date, who_region == r) |>
table_10incidence(region = r, data_as_of = format(Sys.Date(), "%B %d, %Y"))
print(htmltools::tagList(tab_out))
}
10 (AMRO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Chile | 24.8 | 1,310.9 |
Argentina | 12.6 | 1,721.1 |
Barbados | 11.2 | 590.6 |
Turks and Caicos Islands | 10.6 | 100.0 |
Peru | 8.7 | - |
Canada | 5.8 | −59.1 |
Colombia | 3.6 | 1,234.8 |
Ecuador | 3.5 | 506.0 |
Panama | 2.9 | 96.1 |
Guyana | 2.1 | 990.9 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
10 (EMRO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Kuwait | 1.6 | 265.4 |
Afghanistan | 0.5 | −30.8 |
Iran | 0.2 | 0.5 |
Morocco | 0.2 | −22.2 |
United Arab Emirates | 0.0 | - |
Bahrain | 0.0 | - |
Djibouti | 0.0 | - |
Egypt | 0.0 | - |
Iraq | 0.0 | - |
Jordan | 0.0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
10 (AFRO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Mauritius | 20.7 | −86.4 |
Namibia | 0.7 | 54.9 |
Zimbabwe | 0.2 | 25.3 |
Mauritania | 0.1 | 33.3 |
Burundi | 0.1 | −10.6 |
Angola | 0.1 | −82.9 |
Uganda | 0.1 | 214.3 |
Ethiopia | 0.0 | 66.7 |
Benin | 0.0 | - |
Burkina Faso | 0.0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
10 (EURO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Greece | 48.0 | −64.7 |
Lithuania | 27.9 | −47.7 |
Luxembourg | 18.8 | −75.6 |
Russia | 18.3 | −65.7 |
Moldova | 13.3 | −27.0 |
Estonia | 12.2 | −75.4 |
Ireland | 11.8 | −13.7 |
Belgium | 10.6 | −56.9 |
Czechia | 9.9 | −89.5 |
Romania | 8.1 | 0.5 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
10 (WPRO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Brunei Darussalam | 290.5 | −55.1 |
Singapore | 138.6 | −75.8 |
New Zealand | 104.3 | −9.6 |
Australia | 33.5 | −14.9 |
Malaysia | 20.0 | −47.5 |
Philippines | 0.6 | −64.1 |
Mongolia | 0.2 | −68.2 |
China | 0.1 | 195.5 |
Laos | 0.1 | 240.0 |
Cambodia | 0.0 | −39.3 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
10 (SEARO) Countries/ Areas with Highest Incidence | ||
Country/ Area |
Incidence Per 100,0001 |
% Change Past 7 Days2 |
---|---|---|
Thailand | 0.8 | 6.8 |
Indonesia | 0.2 | −55.5 |
Bangladesh | 0.2 | 376.0 |
India | 0.1 | −34.2 |
Burma | 0.1 | 154.1 |
Sri Lanka | 0.0 | −72.8 |
Bhutan | 0.0 | - |
Maldives | 0.0 | - |
Nepal | 0.0 | - |
Korea (North) | 0.0 | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of March 11, 2024 | ||
1 Average daily incidence per 100,000 in past 7 days | ||
2 Percent change in cases of most recent 7 days to 7 days prior |
table_10percentchange(df, time_step = 7, second_time_step = 28, region = NULL, data_as_of = NULL)
Works similarly to the above, but selects top 10 countries based on
percent change over time_step
.
There’s an additional argument second_time_step
that
specifies a second (normally longer) period to compute a percent change
over.
The default visualization is using weekly change and 4 week change.
This table is usually filtered to only countries over a certain
population size, but this should be handled
externally.
Global table (7d and 28d pct change)
df_who %>%
filter(date <= sunday_date, population >= 10000000) |>
table_10percentchange(data_as_of = format(sunday_date, "%B %d, %Y"))
10 Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area | % Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Guatemala | 1,800.0 | −99.9 |
Argentina | 1,721.1 | 439.6 |
Chile | 1,310.9 | −78.7 |
Colombia | 1,234.8 | 44.9 |
Haiti | 1,200.0 | −53.9 |
Ecuador | 506.0 | −28.5 |
Bangladesh | 376.0 | −56.7 |
Uganda | 214.3 | −79.5 |
China | 195.5 | −96.3 |
Burma | 154.1 | −90.8 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
Global table (14d and 28d pct change)
df_who %>%
filter(date <= sunday_date, population >= 10000000) |>
table_10percentchange(time_step = 14)
10 Countries/ Areas with Highest Percent Change In Past 14 Days |
||
Country/ Area | % Change Past 14 Days1 |
% Change Past 28 Days2 |
---|---|---|
Indonesia | 5,601.5 | −81.8 |
Angola | 1,847.1 | 85.6 |
Cambodia | 1,330.0 | −40.0 |
Malaysia | 773.9 | 80.1 |
Ukraine | 490.7 | −90.2 |
India | 418.0 | −89.6 |
Uganda | 392.5 | −79.5 |
Kazakhstan | 380.4 | −87.0 |
Poland | 235.6 | 1.0 |
Sri Lanka | 191.1 | −70.0 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 14 days to 14 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
Regional Tables
for (r in unique(na.omit(df_who$who_region))) {
tab_out <- df_who %>%
filter(date <= sunday_date, population >= 100000, who_region == r) |> # Exclude population less than 100,000
table_10percentchange(region = r, data_as_of = format(sunday_date, "%B %d, %Y"))
print(htmltools::tagList(tab_out))
}
10 (AMRO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Guatemala | 1,800.0 | −99.9 |
Argentina | 1,721.1 | 439.6 |
Chile | 1,310.9 | −78.7 |
Colombia | 1,234.8 | 44.9 |
Haiti | 1,200.0 | −53.9 |
Guyana | 990.9 | −69.0 |
Barbados | 590.6 | −84.5 |
Belize | 533.3 | −87.2 |
Ecuador | 506.0 | −28.5 |
Nicaragua | 333.3 | −88.9 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
10 (EMRO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Kuwait | 265.4 | −62.2 |
Iran | 0.5 | −71.6 |
Morocco | −22.2 | 18.4 |
Afghanistan | −30.8 | −54.9 |
United Arab Emirates | - | - |
Bahrain | - | - |
Djibouti | - | - |
Egypt | - | - |
Iraq | - | - |
Jordan | - | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
10 (AFRO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Uganda | 214.3 | −79.5 |
Ethiopia | 66.7 | −89.1 |
Namibia | 54.9 | −70.1 |
Mauritania | 33.3 | −52.0 |
Zimbabwe | 25.3 | −81.3 |
Burundi | −10.6 | −56.4 |
Angola | −82.9 | 85.6 |
Mauritius | −86.4 | 21.9 |
Benin | - | −8.3 |
Burkina Faso | - | 231.2 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
10 (EURO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Azerbaijan | 152.6 | −30.7 |
Kazakhstan | 101.3 | −87.0 |
Romania | 0.5 | 29.2 |
Armenia | −4.3 | −26.6 |
Ireland | −13.7 | 17.1 |
Moldova | −27.0 | −37.3 |
Malta | −29.8 | −37.5 |
Albania | −34.8 | −11.3 |
United Kingdom | −40.4 | −37.8 |
Kyrgyzstan | −47.1 | −65.3 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
10 (WPRO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Laos | 240.0 | −80.0 |
China | 195.5 | −96.3 |
New Zealand | −9.6 | −46.9 |
Australia | −14.9 | −63.3 |
Cambodia | −39.3 | −40.0 |
Malaysia | −47.5 | 80.1 |
Brunei Darussalam | −55.1 | −6.2 |
Philippines | −64.1 | −133.0 |
Mongolia | −68.2 | −83.6 |
Singapore | −75.8 | 40.6 |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
10 (SEARO) Countries/ Areas with Highest Percent Change In Past 7 Days |
||
Country/ Area |
% Change Past 7 Days1 |
% Change Past 28 Days2 |
---|---|---|
Bangladesh | 376.0 | −56.7 |
Burma | 154.1 | −90.8 |
Thailand | 6.8 | −60.1 |
India | −34.2 | −89.6 |
Indonesia | −55.5 | −81.8 |
Sri Lanka | −72.8 | −70.0 |
Bhutan | - | −96.6 |
Maldives | - | - |
Nepal | - | −97.6 |
Korea (North) | - | - |
Data Source: WHO Coronavirus Disease (COVID-19) Dashboard | ||
Data as of February 25, 2024 | ||
1 Percent change in cases of most recent 7 days to 7 days prior | ||
2 Percent change in cases of most recent 28 days to 28 days prior |
table_10vaccinations(df, type = c("Global", "Region"), run_date)
The “table_10vaccinations” function takes looks for a country, value1 (people vaccinated per hundred), and a value2 (daily vaccinations per hundred) column. Note as vaccination reporting has gaps, the df must be sliced by country and the most recent date with people_vaccinated_per_hundred value (if there is one).
df_who %>%
filter(date <= sunday_date) %>%
filter(population > 1000000) %>%
group_by(country) %>%
filter(!is.na(people_vaccinated_per_hundred)) %>%
filter(date == max(date)) %>%
ungroup() %>%
select(country = who_country, value1 = people_vaccinated_per_hundred, value2 = daily_vaccinations_per_hundred) %>%
arrange(desc(value1)) %>%
head(10) %>%
table_10vaccinations(., run_date = format(sunday_date, "%B %d, %Y"))
Top 10 Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area | People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
United Arab Emirates | 105.8 | NA |
Qatar | 105.8 | NA |
Cuba | 96.0 | NA |
Portugal | 95.3 | NA |
Chile | 92.3 | NA |
Nicaragua | 92.2 | NA |
Viet Nam | 91.9 | NA |
China | 91.9 | NA |
Singapore | 91.5 | NA |
Cambodia | 91.3 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 1 million were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
for (r in unique(na.omit(df_who$who_region))) {
tab_out <- df_who %>%
filter(date <= sunday_date) %>%
filter(population > 100000) %>% # Exclude population less than 100,000
filter(who_region == r) %>%
group_by(country) %>%
filter(!is.na(people_vaccinated_per_hundred)) %>%
arrange(date) %>%
top_n(1, date) %>%
distinct(id, .keep_all = T) %>%
select(country = who_country, value1 = people_vaccinated_per_hundred, value2 = daily_vaccinations_per_hundred) %>%
arrange(desc(value1)) %>%
head(10) %>%
table_10vaccinations(., type = r, run_date = format(sunday_date, "%B %d, %Y"))
print(htmltools::tagList(tab_out))
}
10 (AMRO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Cuba | 96.0 | NA |
Chile | 92.3 | NA |
Nicaragua | 92.2 | NA |
Argentina | 91.2 | NA |
Canada | 90.3 | 0.00 |
Peru | 89.8 | NA |
Costa Rica | 89.6 | NA |
Brazil | 88.1 | NA |
Uruguay | 88.0 | NA |
Ecuador | 85.2 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
10 (EMRO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
United Arab Emirates | 105.8 | NA |
Qatar | 105.8 | NA |
Bahrain | 84.3 | NA |
Kuwait | 81.0 | NA |
Iran | 73.6 | NA |
Saudi Arabia | 71.3 | NA |
Oman | 71.1 | NA |
Pakistan | 70.2 | NA |
Morocco | 66.8 | NA |
Tunisia | 58.4 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
10 (AFRO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Mauritius | 86.5 | NA |
Seychelles | 82.6 | NA |
Rwanda | 79.0 | NA |
Botswana | 74.2 | NA |
Liberia | 73.6 | NA |
Mozambique | 69.4 | NA |
Sierra Leone | 66.0 | NA |
Guinea | 62.9 | NA |
Sao Tome and Principe | 61.7 | NA |
Cabo Verde | 60.1 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
10 (EURO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Portugal | 95.3 | NA |
Malta | 89.8 | 0.00 |
Spain | 86.9 | NA |
Italy | 86.3 | NA |
Iceland | 83.0 | NA |
Ireland | 81.8 | NA |
Finland | 81.7 | NA |
Denmark | 80.7 | NA |
France | 80.6 | NA |
Norway | 80.0 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
10 (WPRO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Brunei Darussalam | 100.5 | NA |
Viet Nam | 91.9 | NA |
China | 91.9 | NA |
Singapore | 91.5 | NA |
Cambodia | 91.3 | NA |
Korea (South) | 86.4 | NA |
Samoa | 86.1 | NA |
Australia | 84.9 | NA |
Japan | 84.5 | NA |
New Zealand | 83.0 | 0.01 |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
10 (SEARO) Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area |
People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Nepal | 91.3 | NA |
Bhutan | 89.3 | NA |
Bangladesh | 88.5 | 0.00 |
Thailand | 79.5 | NA |
Sri Lanka | 78.5 | NA |
Maldives | 76.2 | NA |
Burma | 74.5 | NA |
Indonesia | 74.0 | NA |
India | 72.5 | 0.00 |
Timor-Leste | 66.1 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 100,000 were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
table_10vaccinations(df, vac_type = c("Partial", "Fully"), type = "Global", run_date = "Enter a date")
df_who %>%
filter(date <= sunday_date) %>%
filter(population > 1000000) %>%
group_by(country) %>%
filter(!is.na(people_fully_vaccinated_per_hundred)) %>%
filter(date == max(date)) %>%
ungroup() %>%
select(country = who_country, value1 = people_fully_vaccinated_per_hundred, value2 = daily_vaccinations_per_hundred) %>%
arrange(desc(value1)) %>%
head(10) %>%
table_10vaccinations(., run_date = format(sunday_date, "%B %d, %Y"))
Top 10 Countries/ Areas with Highest Vaccination per 100 People1,2 |
||
Country/ Area | People Vaccinated per 100 People3 |
Daily Vaccines Administered per 100 People4 |
---|---|---|
Qatar | 105.8 | NA |
United Arab Emirates | 103.7 | NA |
Singapore | 90.8 | NA |
Chile | 90.3 | NA |
China | 89.5 | NA |
Cuba | 89.5 | NA |
Nicaragua | 88.0 | NA |
Cambodia | 87.6 | NA |
Viet Nam | 87.5 | NA |
Portugal | 86.8 | NA |
Data as of February 25, 2024 | ||
1 Countries with population size less than or equal to 1 million were excluded | ||
2 People vaccinated per 100 people represents total population (all ages) | ||
3 Number of people out of 100 who received at least one vaccine dose; does not represent percent of population that completed primary vaccination series | ||
4 Vaccine doses administered per day (7 day rolling average); does not represent number of people vaccinated |
table_countriesofconcern(df, df_vaccinations_manufacturers, country_list)
c_list <- c("United Kingdom","Denmark","Portugal","South Africa","Kenya","Zambia","United States of America")
c_list_iso <- parse_country(c_list, to = "iso3c")
df_who_latest <- df_who %>%
group_by(id) %>%
filter(date == max(date)) %>%
ungroup()
vax_man <- get_vax_manufacturers()
table_countriesofconcern(df_who_latest, vax_man, c_list_iso)
Country |
Denmark |
United Kingdom |
Kenya |
Portugal |
United States of America |
South Africa |
Zambia |
---|---|---|---|---|---|---|---|
Date |
2024-02-25 |
2024-02-25 |
2024-02-25 |
2024-02-25 |
2024-02-25 |
2024-02-25 |
2024-02-25 |
New Cases 7 Day Average |
204.7 |
4,807.4 |
0 |
314.6 |
0 |
0 |
0 |
7 Day Cases |
1,433 |
33,652 |
0 |
2,202 |
0 |
0 |
0 |
Previous 7 Day Cases |
12,831 |
56,420 |
0 |
6,834 |
0 |
19 |
2 |
% Change in Cases from Previous 7 Days |
-89% |
-40% |
-68% |
-100% |
-100% |
||
New Deaths 7 Day Average |
14.3 |
0 |
0 |
19.4 |
1,721.6 |
0 |
0 |
7 Day Deaths |
100 |
0 |
0 |
136 |
12,051 |
0 |
0 |
Previous 7 Day Deaths |
563 |
0 |
0 |
212 |
13,252 |
0 |
0 |
% Change in Deaths from Previous 7 Days |
-82% |
-36% |
-9% |
||||
Most Recent Date for Vaccinations |
2023-09-29 |
2022-09-11 |
2023-04-02 |
2023-09-29 |
2023-05-09 |
2023-09-24 |
2023-06-25 |
People Vaccinated Per 100 People |
80.69 |
79.71 |
26.83 |
95.34 |
81.39 |
40.42 |
58.51 |
People who completed primary |
80.11 |
75.19 |
20.53 |
86.75 |
69.47 |
35.13 |
46.03 |
Total Vaccinations Per 100 People |
254.24 |
224.04 |
43.96 |
275.03 |
203.81 |
69.79 |
67.21 |
Vaccines in Use |
Johnson&Johnson, Moderna, Oxford/AstraZeneca, Pfizer/BioNTech |
Moderna, Oxford/AstraZeneca, Pfizer/BioNTech |
Johnson&Johnson, Moderna, Oxford/AstraZeneca, Pfizer/BioNTech, Sinopharm/Beijing |
Covaxin, Johnson&Johnson, Moderna, Novavax, Oxford/AstraZeneca, Pfizer/BioNTech, Sanofi/GSK, Sinopharm/Beijing, Sinovac |
Johnson&Johnson, Moderna, Novavax, Pfizer/BioNTech |
Johnson&Johnson, Pfizer/BioNTech |
Johnson&Johnson, Oxford/AstraZeneca, Sinopharm/Beijing |
% Delta since January 1, 2022 |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
% Omicron since January 1, 2022 |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |
Fill manually |