This study will seek to explain variation in US Public Diplomacy spending in 189 countries over seven years for the period of 2013 and 2019. Employing a cross-sectional, time-series data set, the study will examine whether US public diplomacy determinants are the same as those for US ODA and military spending. Additionally, the study will examine whether US PD spending goes primarily to countries already economically / politically / culturally similar to the US in order to maintain positive public images. Or whether US PD spending goes primarily to countries dissimilar or hostile to the US. Furthermore, the study will examine the extent to which US PD spending is consistent across the years and across countries. Or alternatively, whether spending is reactionary to international events. Finally, the paper will examine whether PD spending is correlated with or independent of concurrent Chinese or Russian foreign policy or PD actions.
US PD spending follows same contours as US ODA (humanitarian) spending
US PD spending follows same contours as US military aid spending
US PD spending is distinct from ODA and military spending
US PD spending goes primarily to countries already similar to the US (i.e. to maintain existing positive image in (economically/politically/culturally) similar populations)
US PD spending goes primarily to countries dissimilar to the US (i.e. to create positive image in dissimilar populations)
US PD spending goes primarily to countries hostile to the US (i.e. to salvage positive image in hostile population)
US PD spending is consistent across the years and across countries
US PD spending is reactionary (i.e. used to punish or reward countries for their behaviour vis-a-vis US foreign policy)
US PD spending is reactionary (i.e. used to combat PR crisis or anti-US sentiment that occur stochastically)
US PD spending is not affected by concurrent Chinese or Russian foreign policy or PD actions
US PD spending is affected (i.e. correlation with PD spending with Chinese / Russian spending)
The Arellano–Bond estimator sets up a generalized method of moments (GMM) problem in which the model is specified as a system of equations, one per time period, where the instruments applicable to each equation differ (for instance, in later time periods, additional lagged values of the instruments are available).
Time-fixed effects are a way of accounting for the influence of global business cycles, as was done in Burnside and Dollar (2000), and for potential changes in the multilateral donors‟ inclination to provide aid.
Country-fixed effects can account for individual characteristics of the countries in the sample that could affect their receipts of multilateral aid, regardless of the values of the explanatory variables. These effects can be introduced into the error term eit through a country-specific intercept
In paper on determinants of multilateral aid by Hlvac
Although the two time-fixed panel regressions yield statistically significant coefficients, their adjusted R2 is very low – only around 0.19. Such low values indicate that the panel regression overall does not fit the sample data well, and that other factors – perhaps country-specific qualities that remain constant across time – might be important.Will need to investigate and remedy non-random error. Also is it slightly polynomic?
#The US State Department has six geographical regions for its bureaus
#Smaller budgets went to Pacific and African countries, largest budgets went to Asian countries
If we look at budgets per capita, this is reversed. More money goes per capita to Pacific countries and Europe.
Asiam countries receive vey little PD budget per capita
We see African countries recieves very little per capita and in absolute terms.The more far away a country is from the US liberal order vote value, the more PD spending they receive?
However, regression analysis with the panel data shows that if we lag the UN vote value, the countries that voted in a way dissimilar to the US liberal order voting record, they were “punished” less PD spending?
pd <- read.csv("C:/Users/Paula/Desktop/PD_original_datasets/vg.csv")
library(stargazer)
##
## Please cite as:
## Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.2. https://CRAN.R-project.org/package=stargazer
pd %<>%
dplyr::mutate(over_100_army = ifelse(army_personnel > 99, 1, 0)) %>%
dplyr::mutate(exports_percent_gdp = exports / gdp_current) %>%
dplyr::mutate(imports_percent_gdp = imports / gdp_current) %>%
dplyr::mutate(trade_openess_percent_gdp = exports + imports/ gdp_current)
pd$ln_mil <- log(pd$sum_military_aid + 0.000001)
pd$ln_econ <- log(pd$sum_economic_aid + 0.000001)
## Warning in log(pd$sum_economic_aid + 1e-06): NaNs produced
random_lagged <- plm(log(budget) ~
lag(log(budget)) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
lag_econ <- plm(ln_econ ~
lag(ln_econ) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
lag_mil <- plm(ln_mil ~
lag(ln_mil) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
stargazer( random_lagged, lag_mil, lag_econ,
type = "text")
##
## ======================================================================
## Dependent variable:
## ----------------------------------
## log(budget) ln_mil ln_econ
## (1) (2) (3)
## ----------------------------------------------------------------------
## lag(log(budget)) 0.787***
## (0.018)
##
## lag(ln_mil) 0.642***
## (0.027)
##
## lag(ln_econ) 0.498***
## (0.033)
##
## as.factor(isWest)1 -0.151*** -5.917*** -4.954***
## (0.058) (1.068) (0.682)
##
## civil_lib -0.019 2.380 -0.693
## (0.150) (2.316) (1.509)
##
## percent_christian -0.001* -0.005 -0.003
## (0.0005) (0.007) (0.005)
##
## as.factor(freedom_house)2 0.137*** 0.128 1.447***
## (0.050) (0.757) (0.503)
##
## as.factor(freedom_house)3 0.153* -0.419 0.604
## (0.086) (1.319) (0.860)
##
## lag(IdealPointDistance) -0.077*** -0.798* 0.299
## (0.027) (0.428) (0.275)
##
## as.factor(us_alliance)1 0.117*** -0.385 -0.495
## (0.039) (0.601) (0.392)
##
## as.factor(over_100_army)1 0.068 0.705 -0.655
## (0.043) (0.688) (0.450)
##
## lag(as.factor(house_maj))R -0.002 -2.082*** 0.699
## (0.047) (0.738) (0.483)
##
## lag(as.factor(president))Trump 0.207*** -0.281 0.478
## (0.035) (0.549) (0.358)
##
## lag(log(trade_openess_percent_gdp)) 0.044*** -0.142 -0.073
## (0.009) (0.126) (0.082)
##
## Constant 2.605*** 8.709*** 7.750***
## (0.309) (2.933) (1.948)
##
## ----------------------------------------------------------------------
## Observations 870 828 824
## R2 0.802 0.521 0.512
## Adjusted R2 0.800 0.514 0.504
## F Statistic 3,478.116*** 888.181*** 849.816***
## ======================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
pd$ln_budget_pc <- log(pd$pd_budget_per_capita)
random_lag_pc <- plm(ln_budget_pc ~
lag(ln_budget_pc) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
pd$ln_econ_pc <- log(pd$economic_aid_per_capita + 0.000001)
## Warning in log(pd$economic_aid_per_capita + 1e-06): NaNs produced
lag_econ_pc <- plm(ln_econ_pc ~
lag(ln_econ_pc) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
pd$ln_mil_pc <- log(pd$military_aid_per_capita + 0.000001)
lag_mil_pc <- plm(ln_mil_pc ~
lag(ln_mil_pc) +
as.factor(isWest) +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
stargazer( random_lag_pc, lag_mil_pc, lag_econ_pc,
type = "text")
##
## ==========================================================================
## Dependent variable:
## --------------------------------------
## ln_budget_pc ln_mil_pc ln_econ_pc
## (1) (2) (3)
## --------------------------------------------------------------------------
## lag(ln_budget_pc) 0.855***
## (0.016)
##
## lag(ln_mil_pc) 0.782***
## (0.022)
##
## lag(ln_econ_pc) 0.672***
## (0.029)
##
## as.factor(isWest)1 -0.084 -2.292*** -1.956***
## (0.059) (0.429) (0.310)
##
## civil_lib 0.397** 1.665* 0.380
## (0.158) (0.898) (0.677)
##
## percent_christian -0.0002 -0.003 -0.0005
## (0.0005) (0.003) (0.002)
##
## as.factor(freedom_house)2 0.0003 0.013 0.689***
## (0.051) (0.292) (0.228)
##
## as.factor(freedom_house)3 0.152* 0.126 0.362
## (0.088) (0.510) (0.386)
##
## lag(IdealPointDistance) -0.051* -0.276* 0.191
## (0.028) (0.167) (0.124)
##
## as.factor(us_alliance)1 0.166*** 0.010 -0.275
## (0.041) (0.232) (0.176)
##
## as.factor(over_100_army)1 0.112** 0.376 -0.138
## (0.045) (0.266) (0.203)
##
## lag(as.factor(house_maj))R -0.015 -0.895*** 0.309
## (0.048) (0.285) (0.217)
##
## lag(as.factor(president))Trump 0.231*** -0.106 0.295*
## (0.036) (0.212) (0.161)
##
## lag(log(trade_openess_percent_gdp)) -0.034*** -0.085* -0.153***
## (0.009) (0.050) (0.038)
##
## Constant -0.620*** 0.750 -0.048
## (0.194) (1.113) (0.839)
##
## --------------------------------------------------------------------------
## Observations 870 828 821
## R2 0.826 0.719 0.705
## Adjusted R2 0.824 0.715 0.701
## F Statistic 4,072.837*** 2,087.067*** 1,931.059***
## ==========================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
pd$budget_per_gdp <- pd$budget / pd$gdp_current
pd$ln_budget_per_gdp <- log(pd$budget_per_gdp)
random_lag_gdp <- plm(ln_budget_per_gdp ~
lag(ln_budget_per_gdp) +
as.factor(isWest) +
civil_lib +
us_distance_ln +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
pd$econ_aid_per_gdp <- pd$sum_economic_aid / pd$gdp_current
pd$ln_econ_aid_per_gdp <- log(pd$econ_aid_per_gdp + 0.000001)
## Warning in log(pd$econ_aid_per_gdp + 1e-06): NaNs produced
lag_econ_gdp <- plm(ln_econ_aid_per_gdp ~
lag(ln_econ_aid_per_gdp) +
as.factor(isWest) +
civil_lib +
us_distance_ln +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
pd$mil_aid_per_gdp <- pd$sum_military_aid / pd$gdp_current
pd$ln_mil_aid_per_gdp <- log(pd$mil_aid_per_gdp + 0.000001)
lag_mil_gdp <- plm(ln_mil_aid_per_gdp ~
lag(ln_mil_aid_per_gdp) +
as.factor(isWest) +
us_distance_ln +
civil_lib +
percent_christian +
as.factor(freedom_house) +
lag(IdealPointDistance) +
as.factor(us_alliance) +
as.factor(over_100_army) +
lag(as.factor(house_maj)) +
# lag(as.factor(senate_maj)) +
lag(as.factor(president)) +
lag(log(trade_openess_percent_gdp)),
index = c("country.name.x", "year"),
model = "random",
random.method = "swar",
data = pd)
stargazer(random_lag_gdp, lag_mil_gdp, lag_econ_gdp,
type = "text")
##
## ============================================================================================
## Dependent variable:
## --------------------------------------------------------
## ln_budget_per_gdp ln_mil_aid_per_gdp ln_econ_aid_per_gdp
## (1) (2) (3)
## --------------------------------------------------------------------------------------------
## lag(ln_budget_per_gdp) 0.771***
## (0.018)
##
## lag(ln_mil_aid_per_gdp) 0.870***
## (0.018)
##
## lag(ln_econ_aid_per_gdp) 0.922***
## (0.013)
##
## as.factor(isWest)1 -0.286*** -0.596*** -0.183
## (0.062) (0.189) (0.115)
##
## civil_lib 0.304* 0.904** -0.165
## (0.157) (0.408) (0.265)
##
## us_distance_ln -0.116*** -0.042 -0.171***
## (0.038) (0.101) (0.066)
##
## percent_christian -0.0002 -0.003** -0.0004
## (0.0005) (0.001) (0.001)
##
## as.factor(freedom_house)2 0.149*** 0.193 0.261***
## (0.051) (0.133) (0.092)
##
## as.factor(freedom_house)3 0.226** 0.314 0.070
## (0.088) (0.230) (0.150)
##
## lag(IdealPointDistance) 0.004 -0.087 0.067
## (0.029) (0.075) (0.048)
##
## as.factor(us_alliance)1 0.111*** -0.033 -0.201***
## (0.041) (0.105) (0.070)
##
## as.factor(over_100_army)1 0.084* 0.016 -0.003
## (0.045) (0.120) (0.079)
##
## lag(as.factor(house_maj))R -0.060 -0.406*** -0.003
## (0.048) (0.129) (0.084)
##
## lag(as.factor(president))Trump 0.113*** -0.123 0.069
## (0.036) (0.095) (0.062)
##
## lag(log(trade_openess_percent_gdp)) -0.105*** -0.023 -0.047***
## (0.012) (0.024) (0.017)
##
## Constant -1.282*** -0.648 1.090
## (0.427) (1.094) (0.713)
##
## --------------------------------------------------------------------------------------------
## Observations 867 825 823
## R2 0.902 0.828 0.949
## Adjusted R2 0.900 0.825 0.948
## F Statistic 7,833.929*** 3,908.586*** 15,050.840***
## ============================================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
library(stargazer)
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(sandwich)
# pd$ideal_distance_groups <-
# cut(pd$ideal_point_distance, # Numeric input vector
# 3, # Number or vector of breaks
# labels = c("very similar", "sometimes similar", "not similar"), # Labels for each group
# include.lowest = FALSE, # Whether to include the lowest 'break' or not
# right = TRUE, # Whether the right interval is closed (and the left open) or vice versa
# dig.lab = 3, # Number of digits of the groups if labels = NULL
# ordered_result = FALSE # Whether to order the factor result or not
# ) # Additional arguments
#
# summary(pd$ideal_distance_groups)
#
#
# stargazer(plm(log(pc_budgetcap) ~
# log(gdp_pc) +
# as.factor(temporary_unsc) +
# as.factor(muslim_majority) +
# as.factor(isWest) +
# log(exports) +
# as.factor(us_bases) +
# as.factor(us_invaded) +
# # log(tradeflow_comtrade_d) +
# democracy_vdem.x +
# as.factor(president_party) ,
# data = pd,
# index= c("country_name.x", "year"),
# method = "random",
# random.method = "swar"), type = "text")
# pd$exports_pc <- pd$exports / pd$population
#
# pd$imports_pc <- pd$imports / pd$population
# stargazer(plm(log(pc_budgetcap) ~
# lag(log(imports_pc +0.000001)),
# data = pd,
# index= c("country_name.x", "year"),
# method = "random",
# random.method = "swar"),
# plm(log(pc_budgetcap) ~
# lag(log(exports_pc +0.000001)),
# data = pd,
# index= c("country_name.x", "year"),
# method = "random",
# random.method = "swar"),
# plm(log(pc_budgetcap) ~
# lag(log(exports_pc)),
# data = pd,
# index= c("country_name.x", "year"),
# method = "random",
# random.method = "swar"),
# type = "text")