Section 1 The budgets come from US State Department reports from 2013 until 2019.
Summary and descriptive statistics
p_d <- read.csv("public_diplomacy2.csv")
p_d %>%
dplyr::group_by(year) %>%
dplyr::select(year, budget, pd_budget_per_capita) %>%
dplyr::filter(!is.na(budget)) %>%
dplyr::summarise(`total US spending Public Diplomacy` = sum(budget)) %>%
knitr::kable() %>% kable_styling()
| year | total US spending Public Diplomacy |
|---|---|
| 2013 | 963272293 |
| 2014 | 471313052 |
| 2015 | 470342916 |
| 2016 | 387507996 |
| 2017 | 392505472 |
| 2018 | 401660150 |
| 2019 | 381494116 |
plotmeans(budget ~ year, main="Public Diplomacy Budget across the years", data=p_d)
plot_2 <- p_d %>%
dplyr::filter(!is.na(geo_region_name)) %>%
group_by(geo_region_name, year) %>%
dplyr::mutate(mean_budget = mean(budget)) %>%
ggplot2::ggplot(aes(x = geo_region_name, y = budget)) +
geom_boxplot(aes(fill = geo_region_name)) +
facet_wrap(~year) +
coord_flip() +
ggthemes::theme_fivethirtyeight()
plot_2 + theme(legend.title = element_blank())
## Warning: Removed 4 rows containing non-finite values (stat_boxplot).
Again 2013 is not a typical year.
Additionally, South Asia is far larger than other years because of the high amount of PD investment in Afghanistan and Pakistan.
plot_2 <- p_d %>%
dplyr::filter(geo_region_name != "Pacific") %>%
dplyr::filter(year != 2013) %>%
dplyr::filter(country.name != "Afghanistan" & country.name !="Pakistan") %>%
dplyr::filter(!is.na(geo_region_name)) %>%
group_by(geo_region_name, year) %>%
dplyr::mutate(mean_budget = mean(budget)) %>%
ggplot2::ggplot(aes(x = geo_region_name, y = budget)) +
geom_boxplot(aes(fill = geo_region_name)) +
facet_wrap(~year) +
coord_flip() +
ggthemes::theme_fivethirtyeight()
Regression Output
re_1 <- plm(log(pd_budget_per_capita) ~ log(army_personnel) + us_similar_un_vote + log(gdp_per_capita) + democracy_vdem +
us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA) + as.factor(muslim_majority) + as.factor(same_lang),
index = c("country.name", "year"),
data = p_d, model = "random", random.method = "walhus")
## Warning in pdata.frame(data, index): at least one NA in at least one index dimension in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
re_2 <- plm(log(military_aid_per_capita + 0.001) ~ log(army_personnel) + us_similar_un_vote + log(gdp_per_capita) + democracy_vdem +
us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA) + as.factor(muslim_majority) + as.factor(same_lang),
index = c("country.name", "year"),
data = p_d, model = "random", random.method = "walhus")
## Warning in pdata.frame(data, index): at least one NA in at least one index dimension in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
re_3 <- plm(log(econ_aid_per_capita + 0.01) ~ log(army_personnel) + us_similar_un_vote + log(gdp_per_capita) + democracy_vdem +
us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA) + as.factor(muslim_majority) + as.factor(same_lang),
index = c("country.name", "year"),
data = p_d, model = "random", random.method = "walhus")
## Warning in pdata.frame(data, index): at least one NA in at least one index dimension in resulting pdata.frame
## to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
## Warning in get(.Generic)(x, ...): NaNs produced
Table 1 First regression table is the panel data regression with PLM package
stargazer(re_1, re_2, re_3,
column.labels = c("Public Diplomacy Spending", "Military Aid Spending", "Economic Aid Spending"),
covariate.labels=c("Number of US troops", "UN votes similar to US", "GDP per capita (logged)", "Democracy Score", "Distance to DC (logged)", "Trade Openness (logged)", "has US Military Bases (binary)", "is Middle East North Africa (binary)", "is Christian majority", "is Muslim majority", "speaks English"), type = "text")
##
## ===================================================================================================================================
## Dependent variable:
## ----------------------------------------------------------------------------------------------
## log(pd_budget_per_capita) log(military_aid_per_capita + 0.001) log(econ_aid_per_capita + 0.01)
## Public Diplomacy Spending Military Aid Spending Economic Aid Spending
## (1) (2) (3)
## -----------------------------------------------------------------------------------------------------------------------------------
## Number of US troops 0.022 0.053 0.066*
## (0.023) (0.056) (0.037)
##
## UN votes similar to US -0.205** 0.362 -0.397***
## (0.090) (0.232) (0.146)
##
## GDP per capita (logged) 0.211*** -0.860*** -1.194***
## (0.064) (0.173) (0.104)
##
## Democracy Score 1.747*** 6.043*** 1.006*
## (0.350) (0.905) (0.566)
##
## Distance to DC (logged) 0.105 0.333 -0.744***
## (0.170) (0.473) (0.275)
##
## Trade Openness (logged) 0.106** 0.207 0.016
## (0.052) (0.133) (0.084)
##
## has US Military Bases (binary) 0.007 -1.061* -0.843**
## (0.225) (0.621) (0.365)
##
## is Middle East North Africa (binary) 0.218 2.816*** 1.440***
## (0.308) (0.857) (0.497)
##
## is Christian majority 0.313 1.580** 0.121
## (0.228) (0.635) (0.368)
##
## is Muslim majority -0.155 -0.704 0.469
## (0.197) (0.550) (0.318)
##
## speaks English -4.374** 1.595 16.367***
## (1.730) (4.727) (2.798)
##
## -----------------------------------------------------------------------------------------------------------------------------------
## Observations 901 875 873
## R2 0.068 0.102 0.232
## Adjusted R2 0.057 0.091 0.224
## F Statistic 59.614*** 90.641*** 266.459***
## ===================================================================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Interesting preliminary trends:
Greater number of US troops in a country is correlated with Military aid spending only.
There is a negative relationship between UN similarity in voting patterns with PD spending. Can we speculate that the US spends in countries that they want to bring closer to them in UNGA?
Richer countries tend to get more PD spending. Democracies are more likely to get more PD spending! This contrasts with ODA - particularly economic - spending.
There is no relationship between distance from DC and PD spending. This is similar only to military spending.
There is no relationship between trade openness and PD spending. But I can look for different measurements of this variable.
Countries with US bases do not seem to get more spending than countries without
In contrast to ODA spending, the Middle East does not seem to get more PD spending that other regions!
Robust Standard Error
Second table uses the same White’s robust standard error correction approach that Alesina and Dollar used in their 2000 paper.
to try account for heteroskedasticity and cluster by country variable
# stargazer(coeftest(re_1, vcov=vcovHC(re_1,type="HC0",cluster="group")),
# coeftest(re_2, vcov=vcovHC(re_2,type="HC0",cluster="group")),
# coeftest(re_3, vcov=vcovHC(re_3,type="HC0",cluster="group")), type = "text")
##Section 7 It seems 2013 was a big spending year?
Given that 2013 appears to be an outlier year and we may have to look more into why… I ran the same regression analyses again with 2013 to see if there is a pattern in the years that are more similar to each other
Summary and descriptive statistics (EXCLUDINFG 2013)
pd_no13 <- read.csv("pd_no13.csv")
We see there was a lot of spending into PD in 2013
Or they calculated the budget differently in 2013 to later years.
# plotmeans(budget ~ year, main="Public Diplomacy Budget across the years", data=pd)
Run the regressions (EXCLUDING 2013)
re_1_no13 <- plm(log(pd_budget_per_capita) ~ log(army_personnel) + IdealPoint.y + log(gdp_per_capita) +
democracy_vdem + us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA),
index = c("country.name", "year"),
data = pd_no13, model = "random", random.method = "walhus")
re_2_no13 <- plm(log(military_aid_per_capita +0.01) ~ log(army_personnel) + IdealPoint.y + log(gdp_per_capita) +
democracy_vdem + us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA),
index = c("country.name", "year"),
data = pd_no13, model = "random", random.method = "walhus")
re_3_no13 <- plm(log(economic_aid_per_capita + 0.01) ~ log(army_personnel) +IdealPoint.y + log(gdp_per_capita) +
democracy_vdem + us_distance_ln + log(openess) + as.factor(us_bases_binary) + as.factor(isMENA),
index = c("country.name", "year"),
data = pd_no13, model = "random", random.method = "walhus")
## Warning in get(.Generic)(x, ...): NaNs produced
First regression table is the panel data regression with PLM package (EXCLUDING 2013)
stargazer(re_1_no13, re_2_no13, re_3_no13,
column.labels = c("Public Diplomacy Spending", "Military Aid Spending", "Economic Aid Spending"),
covariate.labels=c("Number of US troops", "UN votes similar to US", "GDP per capita (logged)", "Democracy Score", "Distance to DC (logged)", "Trade Openness (logged)", "has US Military Bases (binary)", "is Middle East North Africa (binary)"), type = "text")
##
## ======================================================================================================================================
## Dependent variable:
## -------------------------------------------------------------------------------------------------
## log(pd_budget_per_capita) log(military_aid_per_capita + 0.01) log(economic_aid_per_capita + 0.01)
## Public Diplomacy Spending Military Aid Spending Economic Aid Spending
## (1) (2) (3)
## --------------------------------------------------------------------------------------------------------------------------------------
## Number of US troops -0.039** 0.044 0.031
## (0.018) (0.044) (0.036)
##
## UN votes similar to US -0.122 0.250 -0.288**
## (0.077) (0.186) (0.144)
##
## GDP per capita (logged) 0.173*** -0.704*** -1.210***
## (0.060) (0.140) (0.104)
##
## Democracy Score 1.472*** 4.626*** 0.378
## (0.317) (0.753) (0.573)
##
## Distance to DC (logged) 0.037 -0.071 -0.624**
## (0.170) (0.390) (0.282)
##
## Trade Openness (logged) 0.071 0.031 -0.009
## (0.044) (0.106) (0.083)
##
## has US Military Bases (binary) 0.109 -0.635 -0.966***
## (0.217) (0.501) (0.365)
##
## is Middle East North Africa (binary) 0.459* 3.201*** 1.293***
## (0.268) (0.613) (0.443)
##
## Constant -3.714** 2.385 15.924***
## (1.687) (3.896) (2.856)
##
## --------------------------------------------------------------------------------------------------------------------------------------
## Observations 879 849 845
## R2 0.066 0.080 0.237
## Adjusted R2 0.058 0.071 0.229
## F Statistic 52.373*** 66.373*** 265.324***
## ======================================================================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Second table uses the same White’s robust standard error correction that Alesina and Dollar used in their 2000 paper to try account for heteroskedasticity and cluster by country variable
stargazer(coeftest(re_1_no13, vcov=vcovHC(re_1_no13,type="HC0",cluster="group")),
coeftest(re_2_no13, vcov=vcovHC(re_2_no13,type="HC0",cluster="group")),
coeftest(re_3_no13, vcov=vcovHC(re_3_no13,type="HC0",cluster="group")), type = "text")
##
## =========================================================
## Dependent variable:
## -----------------------------
##
## (1) (2) (3)
## ---------------------------------------------------------
## log(army_personnel) -0.039* 0.044 0.031
## (0.020) (0.041) (0.037)
##
## IdealPoint.y -0.122 0.250 -0.288*
## (0.081) (0.199) (0.154)
##
## log(gdp_per_capita) 0.173** -0.704*** -1.210***
## (0.068) (0.169) (0.120)
##
## democracy_vdem 1.472*** 4.626*** 0.378
## (0.424) (1.100) (0.631)
##
## us_distance_ln 0.037 -0.071 -0.624***
## (0.160) (0.386) (0.238)
##
## log(openess) 0.071 0.031 -0.009
## (0.071) (0.119) (0.083)
##
## as.factor(us_bases_binary)1 0.109 -0.635 -0.966**
## (0.228) (0.608) (0.402)
##
## as.factor(isMENA)1 0.459* 3.201*** 1.293**
## (0.263) (0.801) (0.533)
##
## Constant -3.714** 2.385 15.924***
## (1.677) (4.008) (2.777)
##
## =========================================================
## =========================================================
## Note: *p<0.1; **p<0.05; ***p<0.01