Abstract

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.

Hypotheses

Hypothesis 1

Null 1.1:

US PD spending follows same contours as US ODA (humanitarian) spending

Null 1.2:

US PD spending follows same contours as US military aid spending

Alt 1.1:

US PD spending is distinct from ODA and military spending

IV: ODA spending, military spending

Hypothesis 2

Null 2.1:

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)

Alt 2.1:

US PD spending goes primarily to countries dissimilar to the US (i.e. to create positive image in dissimilar populations)

Alt 2.2:

US PD spending goes primarily to countries hostile to the US (i.e. to salvage positive image in hostile population)

IV: similar regime type, similar religion, similar civil liberties, similar voting pattern in UN, PEW attitudes to US, US alliance or not

Hypothesis 3:

Null 3.1:

US PD spending is consistent across the years and across countries

Alt 3.1:

US PD spending is reactionary (i.e. used to punish or reward countries for their behaviour vis-a-vis US foreign policy)

Alt 3.2:

US PD spending is reactionary (i.e. used to combat PR crisis or anti-US sentiment that occur stochastically)

IV: Anti-US sanctions, anti-US protests, US invasions, US army presence, US realpolitik strategies

Hypothesis 4:

Null 4.1:

US PD spending is not affected by concurrent Chinese or Russian foreign policy or PD actions

Alt 4.1:

US PD spending is affected (i.e. correlation with PD spending with Chinese / Russian spending)

IV: Chinese ODA, Russian ODA, Chinese-led international organisations, Russian-led international organisation membership.

Methodology

Panel data allow the analysis of dynamic effects (effects among variables over time; Bergh, 1993; Greve & Goldeng, 2004; Pitariu & Ployhart, 2010); provide a way to control for unmeasured stable variables (the so-called unobserved heterogeneity in the econometric literature); and can address some sources of endogeneity of regressors (Hamilton & Nickerson, 2003) that prevent estimates from being interpreted as causal effects (Antonakis, Bendahan, Jacquart, & Lalive, 2010)

‘System GMM’

It is an estimator designed for situations with:

  1. ‘small T, large N’ panels: few time periods and many individual units a linear functional relationship
  2. one left-hand variable that is dynamic, depending on its own past realisations
  3. right-hand variables that are not strictly exogenous: correlated with past and possibly current realisations of the error
  4. fixed individual effects, implying unobserved heterogeneity
  5. heteroskedasticity and autocorrelation within individual units’ errors, but not across them

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.

Comparing PD Budgets non-logged versus logged

We see that the logged PD Budget variable approaches normal distribution so it is more suitable for regression analysis.

Across all seven years, the logged PD budgets approach normal distribution.

If we look at the relationship between GDP (total) an PD budget (total) per country, there is a positive linear trend. However, we see evidence that there could be heteroskedasticity issues as we go higher with both variables

Will need to investigate and remedy non-random error. Also is it slightly polynomic?

If we look at the relationship between a country’s trade openness index and PD budget (total) per country, there is no strong trend… it is slightly negative

If we look at the relationship between a country’s trade imports from US and PD budget (total) per country, there is no strong trend… it is slightly negative

The US State Department Diplomatic Bureaus

#The US State Department has six geographical regions for its bureaus

We can quickly look at whether there are any clear trends related to which party was in power in the US Senate, US House and US Presidency.

We can look at the distribution of budgets across continents

#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.

Examine the relationship between UN voting similarities and PD budgets

Is there a very steep positive correlation between votes and PD

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?

Also note worthy is the distinct clustering among “Free countries” … if we look down later, this can be somewhat explained by whether the country is Western / NATO member or not

If we only look at 2015

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")