Background

There have been thousands of instances of government interventions and mandates implemented since the world learned of the danger posed by COVID-19. A portion of government officials, journalists, and the scientific community have supported these measures and their effectiveness in preventing more deaths attributable to the virus, another portion has not. While there are arguments to be made on both sides of this debate, the question of whether more COVID-19 interventions by governments is correlated with less death from the virus in any significant way is a testable hypothesis given public data that is now available.

In addition to looking at the total amount of government intervention and its correlation with death rates from COVID-19, this study incorporated Body Mass Index as another exogenous data point that is available worldwide. Many studies have now shown that obesity, and the diseases that accompany it, are among the list of top comorbidities for COVID-19. The CDC listed 94% of patients that died with COVID-19 as having a list of comorbidities including heart disease, diabetes, obesity, and circulatory diseases. The inclusion of world BMI statistics into this study thus allows for a two-fold test. First, it permits another variable aside from government interventions as a potential correlation point thus shedding light on the relative degree of correlation that may be seen from government interventions. Second, it tests the ability of big data analysis to measure an independent variable that is highly suspected of increasing fatality rate from COVID-19.

With the debates raging over the effectiveness and legality of government interventions due to COVID-19, a way to continually monitor the significance of correlations, or not, between these measures with worldwide COVID-19 death rates seems an important contribution to this ongoing discussion. This study attempts to take advantage of the advanced technology and data gathering techniques available to this generation to help provide an objective window into the effectiveness of mass compulsory public actions that attempt to contain a naturally spreading virus. As many of these measures are extreme, including a partial house arrest of entire countries and regions of the world and a level of government intervention in the economy that quickly had the effects of wiping out many small and medium businesses while permitting top corporations like Amazon, Facebook, Google, and Twitter to earn massive profits, the effectiveness of government intervention to stop the spread of COVID-19 must therefore be very high to warrant such a cost to human liberty and well-being. Put simply, the cure cannot be worse than the disease.

Research Question

Specific: Do the ‘quantity of COVID-19 interventions by governments’ (IV1), ‘COVID-19 tests per million’ (IV2), and/or ‘Body Mass Index’ (IV3) correlate in a statistically significant way with ‘deaths per million’ (DV) worldwide or by ‘Continent’ (IV4)?

Simplified: Do the quantity of government interventions, obesity, or testing, correlate with less death worldwide or in particular continents?

Variables

This study contains one dependent variable and four independent variables. The independent variables are all considered to be exogenous variables.

The dependent variable chosen for this study is deaths_per_million. The author considers deaths attributed to COVID-19 rather than cases because 97% of people who have contracted the disease have recovered. The issue of “cases” is of limited scientific utility due to many cases being solely determined by PCR tests and not accompanied by any symptoms, hospitalizations, or deaths. This study uses COVID-19 death statistics as reported, even though the author understands they may vary in reporting method and veracity across regions of the world. This is because these are the numbers that are being used by governments to justify their interventions and so must be used to concur or not with the veracity of their claims.

This study doesn’t make a distinction between the types of government intervention. In the ACAPS data set there are many different categories and types of measures that governments worldwide have taken including:

Table 1
Government Measures
x
Health screenings in airports and border crossings
Isolation and quarantine policies
Awareness campaigns
Emergency administrative structures activated or established
Limit public gatherings
Border closure
Schools closure
Strengthening the public health system
Limit product imports/exports
Border checks
International flights suspension
Surveillance and monitoring
Other public health measures enforced
Domestic travel restrictions
State of emergency declared
General recommendations
Partial lockdown
Changes in prison-related policies
Checkpoints within the country
Economic measures
Curfews
Closure of businesses and public services
Military deployment
Full lockdown
Requirement to wear protective gear in public
Visa restrictions
Lockdown of refugee/idp camps or other minorities
Additional health/documents requirements upon arrival
Mass population testing
Testing policy
Amendments to funeral and burial regulations
Psychological assistance and medical social work
curfews
Humanitarian exemptions
strengthening the public health system
testing policy
limit public gatherings
Complete border closure
Obligatory medical tests not related to COVID-19

While the differences between these types of measures include measures that promote access to health care and others that prevent people from traveling, working, studying, or even leaving their homes during certain periods, these differences are not considered in this study. As these interventions were implemented by policy makers who claimed it would help reduce the amount of death from COVID-19, all of the measures should be tested together to assess their total effectiveness in lowering the death rate from COVID-19.

Testing could be argued by some to be an endogenous variable due to the fact that testing may be step 1 of an individual’s decline towards a death from COVID-19. However, from a policy standpoint COVID-19 testing is being used as a way to lower the death rate from COVID-19. This should be tested then as an exogenous variable that is attempting to affect the trajectory of death from COVID-19. In addition, the fact that 97% of people who are diagnosed with COVID-19 recover means that the correlation between the number of tests and the deaths associated with people who took those tests is around 3% of total tests taken, and therefore should produce minimal positive correlationary effect.

The Body Mass Index (BMI) is a good indicator of obesity levels at a nationwide level.

All of these correlation tests should be tested not only on a worldwide basis, but also in data subsets of different continents to see if there is any regional differences of note.

Hypothesis

This hypothesis remains the same for all of the statistical analyses performed in this study.

H0: The IV and DV do not correlate in a statistically significant1 way.

HA: The IV and DV do correlate in a statistically significant2 way.

Materials

The data used in the following analysis comes from three sources. The COVID-19 death information is real-time and the source that is downloaded in the code is up to date the moment it is downloaded. The government interventions data comes from data.world from the “ACAPS COVID-19 government measures” data set (Friedman, 2020). The Body Mass Index set comes from data.world from the gapminder Body Mass Index BMI (Ray, 2017).

Methods

Even though this study currently has access to the entire population set and a high degree of confidence in the accuracy of the results can be assumed, inferential statistics still must be used because this is only a snapshot in time and does not represent a prediction of future potential COVID-19 government interventions nor deaths. As these statistics represent the entire worldwide data set that currently exists, most of the data is non-parametric. This study tests data sets from the six major geographic regions with more than one country: Africa, Asia, Australia/Oceania, Europe, North America, and South America. This study uses Kendall and Spearman correlation tests on all non-parametric data as statisticians debate about whether Kendall’s \(\tau\) (tau) or Spearman’s \(\rho\) (rho) is a better estimate for correlations in non-parametric data with continuous variables. In general the \(\tau\) is more conservative than the \(\rho\), still both are presented here for the ease of researchers who hold different persuasions on this debate.

The methods and code to reproduce this study are as follows:

1. Obtain live COVID-19 death data (Worldometer, 2020).

This data is updated continuously throughout the day and can be obtained and converted to a data.frame using the following code along with the rvest library.

2. Obtain data

You must have an account with data.world to obtain this data, which is free and easy to obtain. Otherwise, I have hosted all the data for this study here under the same Creative Commons license as originally published by Liz Freidman (2020) and Brian Ray (2017) for you to download freely. You can download it and load it into a data.frame using the following code.

df_bmi <- read.csv(data_path1, stringsAsFactors = FALSE) %>% 
  as.data.frame()

3. Clean data.

This required several steps, which are detailed below.

3a. Eliminate commas from numbers \(\ge\) 999 in the worldometer dataset and make those columns numeric in class.

### FOR LIVE DOWNLOAD VERSION
 
 covidtable$TotalCases <- as.numeric(gsub(",","",covidtable$TotalCases))
 class(covidtable$TotalCases) = "numeric"
 
 covidtable$NewCases <- as.numeric(gsub(",","",covidtable$NewCases))
 covidtable$NewCases <- as.numeric(gsub("\\+","",covidtable$NewCases))
 class(covidtable$NewCases) = "numeric"
 
 covidtable$TotalDeaths <- as.numeric(gsub(",","",covidtable$TotalDeaths))
 class(covidtable$TotalDeaths) = "numeric"
 
 covidtable$NewDeaths <- as.numeric(gsub(",","",covidtable$NewDeaths))
 covidtable$NewDeaths <- as.numeric(gsub("\\+","",covidtable$NewDeaths))
 class(covidtable$NewDeaths) = "numeric"

covidtable$TotalRecovered <- as.numeric(gsub(",","",covidtable$TotalRecovered))
class(covidtable$TotalRecovered) = "numeric"
 
covidtable$NewRecovered <- as.numeric(gsub(",","",covidtable$NewRecovered))
covidtable$NewRecovered <- as.numeric(gsub("\\+","",covidtable$NewRecovered))
class(covidtable$NewRecovered) = "numeric"
 
covidtable$ActiveCases <- as.numeric(gsub(",","",covidtable$ActiveCases))
class(covidtable$ActiveCases) = "numeric"
 
covidtable$`Tot Cases/1M pop` <- as.numeric(gsub(",","",covidtable$`Tot Cases/1M pop`))
class(covidtable$`Tot Cases/1M pop`) = "numeric"
 
covidtable$`Deaths/1M pop` <- as.numeric(gsub(",","",covidtable$`Deaths/1M pop`))
class(covidtable$`Deaths/1M pop`) = "numeric"

covidtable$TotalTests <- as.numeric(gsub(",","",covidtable$TotalTests))
class(covidtable$TotalTests) = "numeric"

covidtable$`Tests/1M pop` <- as.numeric(gsub(",","",covidtable$`Tests/1M pop`))
class(covidtable$`Tests/1M pop`) = "numeric"

covidtable$Population <- as.numeric(gsub(",","",covidtable$Population))
class(covidtable$Population) = "numeric"

df_regs$CATEGORY <- as.factor(df_regs$CATEGORY)
class(df_regs$CATEGORY) = "factor"

3b. Fix data entry duplicates and column classes in Government interventions Dataset

# Fix Data Entry Duplicates
## Government interventions Data (df_regs)

df_regs$COUNTRY[5022] <- "Kenya"      
df_regs$COUNTRY[6192:6194] <- "Moldova Republic of"
df_regs$COUNTRY[2536:2540] <- "Czech Republic" 

3c. Sum and order by country all government interventions

# Sum and order by country all government mandates

df_regs_coun <- count(df_regs, vars = "COUNTRY") # Count measures by country
colnames(df_regs_coun)[colnames(df_regs_coun) == "freq"] <- "total_measures"  # rename freq column name

3d. Check and fix names of countries between both datasets so they agree before merging

# Check and fix names of countries so they agree between datasets before merging

## See if country exists in government intervention dataset 
## and add returned list as a column
df_regs_coun$new <- df_regs_coun$COUNTRY %in% covidtable$`Country,Other` 

## See if country name exists in Worldometer dataset 
## and add returned list as a column
covidtable$COUNTRY <- covidtable$`Country,Other` %in% df_regs_coun$COUNTRY

## Change the column 'new' to TRUE/FALSE if name is correct or not
df_regs_coun %>% 
  mutate(new = case_when(
    new == FALSE ~ df_regs_coun$COUNTRY
  ))

# See which countries are named differently and make new columns for results
df_regs_coun$results <- ifelse(df_regs_coun$new == FALSE, 
                               df_regs_coun$COUNTRY, "")
covidtable$results <- ifelse(covidtable$COUNTRY == FALSE, 
                             covidtable$`Country,Other`, "")

# Make the names that are different agree
df_regs_coun <- df_regs_coun %>%
  mutate(COUNTRY = case_when(
    results == "Brunei Darussalam" ~ "Brunei",
    results == "Central African Republic" ~ "CAR",
    results == "China, Hong Kong Special Administrative Region" ~ "Hong Kong",
    results == "Congo DR" ~ "DRC",
    results == "Côte d'Ivoire" ~ "Ivory Coast",
    results == "Czech Republic" ~ "Czechia",
    results == "Korea Republic of" ~ "S. Korea",
    results == "Lao PDR" ~ "Laos",
    results == "Moldova Republic of" ~ "Moldova",
    results == "Nauru" ~ "Brunei",
    results == "North Macedonia Republic Of" ~ "North Macedonia",
    results == "Russian Federation" ~ "Russia",
    results == "Saint Vincent and the Grenadines" ~ "St. Vincent Grenadines",
    results == "United Arab Emirates" ~ "UAE",
    results == "United Kingdom" ~ "UK",
    results == "United States of America" ~ "USA",
    results == "Viet Nam" ~ "Vietnam",
    TRUE ~ COUNTRY
  ))

# Delete unwanted columns
df_regs_coun <- select(df_regs_coun, -new, -results)

4. Merge datasets by country, delete unwanted columns

# Merge datasets
merge_df <- merge(df_regs_coun, covidtable, by.x = "COUNTRY",
      by.y = "Country,Other")

merge_df <- select(merge_df, -COUNTRY.y, -results, -`#`)

5. Rename columns

Rename columns to correspond with variables as described in the Variables Section above.

colnames(merge_df)[colnames(merge_df) %in% c("COUNTRY", 
                                             "Deaths/1M pop", 
                                             "Tests/1M pop",
                                             "Tot Cases/1M pop")] <- 
  c("country", "deaths_per_million", "tests_per_million", "cases_per_million")

6. Repeat steps 2-5 with the BMI dataset

# BMI DATASET
df_bmi <- select(df_bmi, Country, X2008)
df_bmi$new <- df_bmi$Country %in% merge_df$country
## Change 
df_bmi %>% 
  mutate(new = case_when(
    new == FALSE ~ df_bmi$Country
  ))
# See which countries are named differently and make new columns for results
df_bmi$results <- ifelse(df_bmi$new == FALSE, df_bmi$Country, "")

# Remove countries not represented in other data set

df_bmi <- filter(df_bmi, Country != "Andorra" & 
         Country != "Bermuda" & 
         Country != "British Virgin Islands" & 
         Country != "Korea, Dem. Rep." &
         Country != "French Polynesia" &
         Country != "Greenland" &
         Country != "Kiribati" &
         Country != "Macao, China" &
         Country != "Marshall Islands" &
         Country != "Micronesia, Fed. Sts." &
         Country != "Netherlands Antilles" &
         Country != "Palau" &
         Country != "Puerto Rico" &
         Country != "Swaziland" &
         Country != "Taiwan" &
         Country != "Tonga" &
         Country != "Vanuatu")

# Make the names the same
df_bmi <- df_bmi %>%
  mutate(Country = case_when(
    results == "Cape Verde" ~ "Cabo Verde",
    results == "Central African Republic" ~ "CAR",
    results == "Hong Kong, China" ~ "Hong Kong",
    results == "Congo, Dem. Rep." ~ "DRC",
    results == "Cote d'Ivoire" ~ "Ivory Coast",
    results == "Czech Rep." ~ "Czechia",
    results == "Korea, Rep." ~ "S. Korea",
    results == "Dominican Rep." ~ "Dominican Republic",
    results == "Slovak Republic" ~ "Slovakia",
    results == "Macedonia, FYR" ~ "North Macedonia",
    results == "Russian Federation" ~ "Russia",
    results == "Saint Vincent and the Grenadines" ~ "St. Vincent Grenadines",
    results == "United Arab Emirates" ~ "UAE",
    results == "United Kingdom" ~ "UK",
    results == "United States" ~ "USA",
    results == "West Bank and Gaza" ~ "Palestine",
    results == "Yemen, Rep." ~ "Yemen",
    TRUE ~ Country
  ))

# Remove unnecessary columns

df_bmi <- select(df_bmi, Country, X2008)
colnames(df_bmi)[colnames(df_bmi) == "X2008"] <- "BMI"  # rename freq column name

# Merge with other two data sets
merge_df <- merge(merge_df, df_bmi, by.x = "country",
                  by.y = "Country")

7. Create data subsets

Create data subsets of regions and variables of interest.

# Filter data set
# Geographic variables
Africa <- filter(merge_df, Continent == "Africa")
Asia <- filter(merge_df, Continent == "Asia")
Europe <- filter(merge_df, Continent == "Europe")
North_America <- filter(merge_df, Continent == "North America")
South_America <- filter(merge_df, Continent == "South America")
west_hem <- filter(merge_df, Continent == "South America" | Continent == "North America")
west_hem_nho <- filter(west_hem, country != "USA" & country != "Peru" & country != "Barbados")
No_USA <- filter(merge_df, country != "USA")

## deaths_per_million
high_country <- filter(merge_df, deaths_per_million > 400)
med_country <- filter(merge_df, deaths_per_million < 400 & deaths_per_million > 100)
low_country <- filter(merge_df, deaths_per_million < 100)

## total_measures
high_measures <-filter(merge_df, total_measures > 100)
med_measures <- filter(merge_df, total_measures < 100 & total_measures > 25)
low_measures <- filter(merge_df, total_measures < 25)

merge_df_num <- select_if(merge_df, is.numeric)
merge_df_num <- select(merge_df_num, c(-NewCases,-TotalDeaths,- # Remove columns with NAs
                                         NewDeaths,-NewRecovered,
                                       -`Serious,Critical`,-`1 Testevery X ppl`,
                                       -`1 Caseevery X ppl`))
merge_df_num <- na.omit(merge_df_num)

8. Run statistical distribution tests.

Histograms and Q-Q tests were used as primary and secondary normality distribution checks. The Shapiro-Wilk normality test was used on all data in accordance with Razali and Wah’s (2011) findings that this normality test is the most “powerful” in determining normal distribution. The only data subset to show a significant WS value was South America.

9. Run correlation tests, Kendall, Spearman and Pearson.

Due to the non-parametric data in the vast majority of samples, this study uses Kendall and Spearman correlation tests as mentioned above. A Pearson correlation is used for the only complete parametric data subset of South America.

10. Plot Results.

Scatter plot results were used to analyze the statistical significance of the correlation between the dependent and independent variables and were plotted for each geographic and variable value category filtered earlier. The scatter plots include the, \(\tau\) (Kendall) or \(\rho\) (Spearman) scores and their respective p-values.

Results

Normal Distribution Tests

The histogram, Q-Q plots, and Wilk-Shapiro tests agree that South America is the only non-parametric data subset included in this study, the rest are non-parametric.

Histograms

(IV1) World Histogram for deaths_per_million

# World Histogram for Deaths/Million
ggplot(data=merge_df, aes(deaths_per_million)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 fill = "light blue",
                 aes(y = ..density..)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for Deaths/Million") +
  labs(x="Deaths per Million", y="Count") +
  theme_stata()

(IV1) World Histogram for deaths_per_million by Continent

# World Histogram for Deaths/Million by Continent
ggplot(data=merge_df, aes(deaths_per_million)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 aes(y = ..density.., fill=Continent)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for Deaths/Million by Continent") +
  labs(x="Deaths per Million", y="Count") +
  facet_wrap(~Continent) +
  theme_stata()

(IV2) World Histogram for total_measures

# World Histogram for Total Measures
ggplot(data=merge_df, aes(total_measures)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 fill = "light blue",
                 aes(y = ..density..)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for Total Measures") +
  labs(x="Total Measures", y="Count") +
  theme_stata()

(IV2) World Histogram for total_measures by Continent

# World Histogram for Total Measures by Continent
ggplot(data=merge_df, aes(total_measures)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 aes(y = ..density.., fill=Continent)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for Total Measures by Continent") +
  labs(x="Total Measures", y="Count") +
  facet_wrap(~Continent) +
  theme_stata()

(IV3) World Histogram for BMI

# World Histogram for Total Measures
ggplot(data=merge_df, aes(BMI)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 fill = "light blue",
                 aes(y = ..density..)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for BMI") +
  labs(x="BMI", y="Count") +
  theme_stata()

(IV3) World Histogram for BMI by Continent

# World Histogram for Total Measures
ggplot(data=merge_df, aes(BMI)) + 
  geom_histogram(bins = 30,
                 col = "Dark Blue",
                 fill = "light blue",
                 aes(y = ..density..)) +
  geom_density(alpha = 0.1, fill = "dark blue") +
  scale_fill_stata() +
  labs(title="World Histogram for BMI") +
  labs(x="BMI", y="Count") +
  theme_stata() +
  facet_wrap(~Continent)

Q-Q Plots

Q-Q Plot Deaths per Million World

# Q-Q Test deaths_per_million
qqPlot(merge_df$deaths_per_million,
       glab = "Continent",
       ylab = "Deaths/Million")

## [1]  16 147

Q-Q Plot Total Measures World

# Q-Q Test total_measures
qqPlot(merge_df$total_measures, 
       glab = "Continent",
       ylab = "Total Measures")

## [1] 128 152

Q-Q Plot BMI World

# Q-Q Test BMI
qqPlot(merge_df$BMI, 
       glab = "Continent",
       ylab = "BMI")

## [1] 138  47

Q-Q Plot Deaths per Million by Continent

# Q-Q Plot deaths_per_million by Continent
qqPlot(merge_df$deaths_per_million, 
       groups = merge_df$Continent,
       glab = "Continent",
       ylab = "Deaths per Million")

Q-Q Plot Total Measures by Continent

# Q-Q Plot total_measures by Continent
qqPlot(merge_df$total_measures, 
       groups = merge_df$Continent,
       glab = "Continent",
       ylab = "Total Measures")

Q-Q Plot BMI World by Continent

# Q-Q Test BMI
qqPlot(merge_df$BMI,
       groups = merge_df$Continent,
       glab = "Continent",
       ylab = "BMI")

Wilk-Shapiro Test

Here is the only successful complete data subset that passed the WS test.

  • South America DV: W = 0.87263, p-value = 0.07057
  • South America IV1: W = 0.86358, p-value = 0.05422
shapiro.test(South_America$deaths_per_million)
## 
##  Shapiro-Wilk normality test
## 
## data:  South_America$deaths_per_million
## W = 0.86892, p-value = 0.06332
shapiro.test(South_America$total_measures)
## 
##  Shapiro-Wilk normality test
## 
## data:  South_America$total_measures
## W = 0.86358, p-value = 0.05422

Correlation Tests

All correlations here are arranged by calculation method.

World Correlations

Spearman Correlation Table

knitr::kable(sp.cor, caption = c("Table 2", "Spearman Correlation Table"), 
       label = "Sp.cor Table", digits=3)
Table 2
Spearman Correlation Table
deaths_per_million tests_per_million BMI total_measures
deaths_per_million 1.000 0.550 0.621 0.209
tests_per_million 0.550 1.000 0.719 0.403
BMI 0.621 0.719 1.000 0.293
total_measures 0.209 0.403 0.293 1.000

Kendall Correlation Table

knitr::kable(ke.cor, caption = c("Table 3", "Kendall Correlation Table"), 
       label = "Ke.cor Table", digits=3)
Table 3
Kendall Correlation Table
deaths_per_million tests_per_million BMI total_measures
deaths_per_million 1.000 0.382 0.415 0.147
tests_per_million 0.382 1.000 0.522 0.280
BMI 0.415 0.522 1.000 0.198
total_measures 0.147 0.280 0.198 1.000

Chart Correlation

World All Correlation Strength Matrix

This correlation matrix shows how all numerical variables in the merged data set relate to one another. The stronger the correlation, the darker red (+) or purple (-) the square appears. The variable showing the least correlation with any other variable in the data set including deaths_per_million is total_measures.

Spearman

title <- "World"
crls <- "spearman"
ggcorrplot(cor(merge_df_num, method = crls), p.mat = cor_pmat(merge_df_num), hc.order=TRUE, type="lower",
  title = paste0("[",title,"] ", "All Variable Correlation Strength Matrix: ", " (",crls,")"),
  legend.title = paste(crls, "'s rho"))

Kendall

title <- "World"
crlk <- "kendall"
ggcorrplot(cor(merge_df_num, method = crlk), p.mat = cor_pmat(merge_df_num), hc.order=TRUE, type="lower",
  title = paste0("[",title,"] ", "All Variable Correlation Strength Matrix: ", " (",crlk,")"),
  legend.title = paste(crlk, "'s tau"))

Scatterplots

The scatter plots shown here depict the correlations (\(\tau\), \(\rho\), or R) and regression lines lines for the IV and DV across all data subsets.

IV1 = total_measures by DV =deaths_per_million

World (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV1 x DV)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

World - (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

By Continent (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV1 x DV)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

By Continent (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
  facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

North and South America (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV1 x DV)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "spearman"    # spearman

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

North and South America (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (IV1 x DV)
IV = "total_measures"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "kendall"    # kendall

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

IV2 = tests_per_million by DV =deaths_per_million

World (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV2 x DV)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

World - (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

By Continent (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV2 x DV)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

By Continent (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
  facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

North and South America (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV2 x DV)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "spearman"    # spearman

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

North and South America (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (IV2 x DV)
IV = "tests_per_million"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "kendall"    # kendall

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

IV3 = BMI by DV =deaths_per_million

World (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV3 x DV)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

World - (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

By Continent (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV3 x DV)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "spearman"    # spearman

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

By Continent (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (Kendall)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "World"
corrtest <- "kendall"    # kendall

ggscatter(merge_df, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata() +
  facet_wrap(~Continent)
## `geom_smooth()` using formula 'y ~ x'

North and South America (Spearman)

# Scatter plot Govt. Measures X Deaths Per Million (IV3 x DV)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "spearman"    # spearman

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

North and South America (Kendall)

# Scatter plot Govt. Measures X Deaths Per Million (IV3 x DV)
IV = "BMI"
DV = "deaths_per_million"
data_subset <- "west_hem"
corrtest <- "kendall"    # kendall

ggscatter(west_hem, x = IV, y = DV,
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = corrtest, col = "Continent") +
  scale_color_stata() +
  # geom_label_repel(aes(label = country),
  #                 box.padding   = 0.25,
  #                 point.padding = 0.25,
  #                 segment.color =  "#6e8e84") +
  ggplot2::labs(
    x = IV, y = DV,
    title = paste0("[",data_subset,"] ",IV, " X ", DV, " (",corrtest,")"),
    # subtitle = paste("R-squared = ",sp_rsq_DV1,"\nCombined number of government measures against COVID-19 explain", sp_rsq_DV1_per, "of the variance in total deaths across countries"),
    caption = paste("\nSource: Data collected from data.world and Worldometer, analyzed and plotted using RStudio as of", date())
  ) +
  theme_stata()
## `geom_smooth()` using formula 'y ~ x'

Discussion

According to the results, government interventions do not seem to lower death rates from COVID-19, if anything they have been shown to have a slight positive correlation with death rates. The author is not suggesting however that government interventions caused the increase in these deaths directly, though there is ample evidence building that the government interventions centered on attempting to curtail the lethality of COVID-19 are poised to cause massive damage to millions of lives worldwide beginning with the developing world (CITATION). Rather, it is possible that the slight trend for a higher death rate in countries with more government intervention is a result of reporting capacity. Still, the totality of government intervention aimed at curtailing the lethality of COVID-19 does not show the strong negative correlation that policy makers, government officials, and mainstream media outlets have been claiming it does.

Data Quality

In many countries, they simply may not have the resources to be counting and testing every potential death from COVID-19. As this disease can be so easily confused with other diseases like pneumonia, heart disease, stroke, and other lung diseases, it may difficult for countries particularly in the developing world to distinguish in their records every COVID-19 death.

Results here indicate that both data sets are non-parametric. Due to readily available access to the entire population, this study regarded the non-parametric characteristic of the data set as important and therefore did not remove outliers from the non-parametric data to make it parametric. Whether the data being provided by certain countries is 100% accurate is a matter for another study. Here it is important to use the public data available because this is the data that the world is using to determine COVID-19 government policies. This is the data that is quoted daily by government officials, journalists, and scientists alike. The results presented here are based on that data in its unadulterated form.

Total Measures

The differences in results between different continents, brings many questions to the forefront about why government interventions in Asia appear to have a low negative correlation with deaths_per_million while similar or even more intense government interventions in the Western Hemisphere and Africa show a low positive correlation. Some questions to study in future research may include:

  1. Is the data from the Asian and Western countries included in this data set reliable?

Perhaps these disparate results are due to a lack of veracity of data coming from any of the countries included in this study.

  1. Do people from these different continents simply react differently to extreme government intervention due to long-held cultural norms surrounding respect for authority vs. respect for individual liberty?

Perhaps cultural/social norms are different in these continents causing a disparate reaction by the people to extreme government interventions that infringe upon individual liberties. Values around individualism vs. collectivism in different regions thus might be a beneficial area to study in the future.

  1. What other factors could explain these opposing results?

BMI

National obesity levels has the strongest correlation of all independent variables in this study with deaths_per_million. Worldwide results indicate a moderate level of positive correlation between national obesity levels and deaths per million from COVID-19 (rho = 0.62, p = < 2.2 e-16). This correlation is much stronger than that of government intervention suggesting that perhaps a focus on diet, exercise, and healthy living could be more beneficial for populations concerned about the risk of COVID-19.

Tests per Million

While tests per million show a moderate positive correlation with deaths per million, it should not be concluded that more tests equal more deaths. Rather, it could be that as people get sick they go get tested and then some of them die and that adds to the positive correlation. It could also be that countries with the resources to do a lot of testing also have the resources to record COVID-19 deaths at a potentially higher rate, while countries with less resources do less testing and therefore record less association of deaths with COVID-19.

Still, the fact that 97% of people who are diagnosed with COVID-19 recover means that the correlation between the number of tests and the deaths associated with people who took those test is around 3% of total tests taken, and therefore should produce minimal positive correlationary effect. Thus, the fact that there is a positive rather than a negative correlation with testing, does suggest that testing has little to no effect on the virus’s natural trajectory. As the vast majority of COVID-19 tests are PCR tests that were never designed for diagnosis of viruses according to its inventor, and there have been up to 90% false positives reported in some areas these statistical results make sense. Testing has little statistically significant correlation with deaths_per_million.

Implications for Policy Makers

In doing Spearman and Kendall correlation tests on a non-parametric data set, this study attempted to test the possibility of either positive or negative correlation using two common correlation tests. Unable to reject the null hypothesis for total_measures due to the non-statistically significant correlation results, the conclusions on the worldwide data are not promising for policy makers who hope to curb the spread of COVID-19 through their interventions in the lives, liberty, and economies of their citizens. Due to the disparate results across geographic regions utilizing the same government interventions, the implications of these results are even more important for policy makers advising international institutions like the United Nations, World Bank, and World Health Organization who issue general advice and directives to Health Ministries across the planet. As has been known in the decentralized policy literature for some time, overarching policy ideas in one region, much less across the world do not often work and are ill-advised due to their potentially negative effects. This seems to be another case of the tragedy of centralized authorities and decision-making, unable to see problems from a local bottom-up perspective, and only able to implement their ideas in a top-down manner, these centralized authorities and international organizations often issue advice that is at best unhelpful and at worst deadly. As shown here, attempting to implement policies that appear to have worked in one region (Asia), may have the opposite effect in other regions (Africa, North and South America). This should serve as a cautionary advisory to policy makers attempting to implement government interventions that do not take into account the sociocultural, political, and economic differences among disparate populations. A move towards decentralized decision-making by all nations and localities is encouraged.

The rhetoric of authoritarianism and centralized control is appealing, especially when combined with fear of a virus people do not know a lot about yet. Still, this fear should not take away our objective reasoning. We may wish for government interventions to help us in a situation where it feels like nature is out of control, and sometimes we can do a lot to mitigate disasters; however, in this case it appears that government interventions of all types added together do not do anything statistically significant except possibly increase the amount of reported deaths in most regions of the world. With the “second wave” upon the West and many countries re-implementing these same government interventions in even greater number and intensity, their effectiveness to prevent death needs to be proven with substantial evidence. That has not occurred as of yet. This study adds to the doubt that many scientists hold about the effectiveness of government interventions in preventing a naturally spreading disease.

Future Research

Due to the reporting inconsistencies and at times lack of provable veracity of COVID-19 death reports, future research should use excess death data sets as they become available to look at actual death rates rather than reported COVID-19 deaths. The reasons for using reported COVID-19 deaths rather than excess death rates is explained above.

Using the COVID-19 Government Restrictions Severity Index from Oxford would be advised for a future study to see if the degree of severity of government interventions, as opposed to their total quantity as this study addresses, has any correlation with deaths per million that differs from this study.

Any future research that attempts to verify, challenge, reject, or add to the work of this study is welcomed by the author.

References

R [Version 4.0.3; @R-base] and the R-packages AICcmodavg [Version 2.3.1; @R-AICcmodavg], anytime [Version 0.3.9; @R-anytime], broom [Version 0.7.2; @R-broom], car [Version 3.0.10; @R-car; @R-carData], carData [Version 3.0.4; @R-carData], cdc [@R-cdc], cluster [Version 2.1.0; @R-cluster], corpus [Version 0.10.1; @R-corpus], correlation [Version 0.5.0; @R-correlation], corrplot2017 [@R-corrplot2017], data.table [Version 1.13.2; @R-data.table], dplyr [Version 1.0.2; @R-dplyr], finalfit [Version 1.0.2; @R-finalfit], flextable [Version 0.5.11; @R-flextable], forcats [Version 0.5.0; @R-forcats], Formula [Version 1.2.4; @R-Formula], fpc [Version 2.2.8; @R-fpc], GGally [Version 2.0.0; @R-GGally], ggcorrplot [Version 0.1.3; @R-ggcorrplot], ggplot2 [Version 3.3.2; @R-ggplot2], ggpubr [Version 0.4.0; @R-ggpubr], ggraph [Version 2.0.3; @R-ggraph], ggrepel [Version 0.8.2; @R-ggrepel], ggthemes [Version 4.2.0; @R-ggthemes], ggvis [Version 0.4.6; @R-ggvis], ggwordcloud [Version 0.5.0; @R-ggwordcloud], Hmisc [Version 4.4.1; @R-Hmisc], igraph [Version 1.2.6; @R-igraph], kableExtra [Version 1.3.1; @R-kableExtra], KernSmooth [Version 2.23.18; @R-KernSmooth], knitr [Version 1.30; @R-knitr], lattice [Version 0.20.41; @R-lattice], lsr [Version 0.5; @R-lsr], NLP [Version 0.2.1; @R-NLP], nortest [Version 1.0.4; @R-nortest], papaja [Version 0.1.0.9997; @R-papaja], pdftools [Version 2.3.1; @R-pdftools], PerformanceAnalytics [Version 2.0.4; @R-PerformanceAnalytics], plm [Version 2.2.5; @R-plm_a; @R-plm_b], plyr [Version 1.8.6; @R-dplyr; @R-plyr], psych [Version 2.0.9; @R-psych; @R-psycho], psycho [Version 0.5.0; @R-psycho], purrr [Version 0.3.4; @R-purrr], quanteda [Version 2.1.9000; @R-quanteda], RColorBrewer [Version 1.1.2; @R-RColorBrewer], readr [Version 1.4.0; @R-readr], readtext [Version 0.80; @R-readtext], rvest [Version 0.3.6; @R-rvest], see [Version 0.6.0; @R-see], SnowballC [Version 0.7.0; @R-SnowballC], stringr [Version 1.4.0; @R-stringr], survival [Version 3.2.7; @R-survival-book], tesseract [Version 4.1; @R-tesseract], text2vec [Version 0.6; @R-text2vec], tibble [Version 3.0.4; @R-tibble], tidyr [Version 1.1.2; @R-tidyr], tidytext [Version 0.2.6; @R-tidytext], tidyverse [Version 1.3.0; @R-tidyverse], tm [Version 0.7.7; @R-tm], topicmodels [Version 0.2.11; @R-topicmodels], wordcloud [Version 2.6; @R-ggwordcloud; @R-wordcloud], xml2 [Version 1.3.2; @R-xml2], xtable [Version 1.8.4; @R-flextable; @R-xtable], xts [Version 0.12.1; @R-xts], and zoo [Version 1.8.8; @R-zoo]


  1. p \(\le\) 0.5↩︎

  2. p \(\ge\) 0.5↩︎