Summary Statistics US PD Budget

Paula

6/8/2021

## [1] "C:/Users/Paula/Documents"

Introduction

The present paper does not expect the PD budgets to correspond to measurable changes in the US’s perception or soft power abroad. It is a relatively infinitesimal percentage of a receiving country’s GDP per person.

Examples of PD tools — Fulbright Program, International Visitor Leadership Program, and American spaces — are aimed to create personal networks / long-term relationship-building.

Publication of the Report is part of the U.S. Advisory Commission on Public Diplomacy (ACPD)’s mandate to provide Congress, the President, and the Secretary of State with a detailed list of all U.S.-government public diplomacy activities.

The report breaks down the spending per country for roughly 180 U.S. missions, and itemizes exchange and cultural programs in the Educational and Cultural Exchange (ECE) budget

The PD family of bureaus at the State Department was created in 1999 after the merger between the U.S. Information Agency (USIA) and the State Department.

The PD mission is to “support the achievement of U.S. foreign policy goals and objectives, advance national interests, and enhance national security by informing and influencing foreign publics and by expanding and strengthening the relationship between the people and Government of the United States and citizens of the rest of the world.”

The mission of the Broadcasting Board of Governors (BBG) is distinct from the State Department’s public diplomacy activities. The BBG’s primary objective is to “inform, engage and connect people around the world in support of freedom and democracy.” While it is not de-signed to influence foreign public opinion, its activities are strategically aligned with broader U.S. foreign policy goals (2015 report)

Priority countries Afghanistan, Pakistan and Iraq have especially high amounts because public diplomacy activities are supported by Economic SupportFunds to help with democratic transitions, according to the reports

Other countries have higher cost of operations given the markets they work within or because they serve as vital partners for the U.S. on third-country crises.

MAT - . Mission Activity Tracker

The report argues that “Forming relationships with critical foreign audiences requires commitment and patience, and the strategic investment of limited resources to inform, engage and influence foreign publics over the very long term.”

Do we see evidence of this consistency (similar to aid inertia literature?)

Do we see a convergence with other public diplomacy efforts / more traditional diplomacy efforts?

pd %>% 
  filter(year > 2012 & year < 2020) %>% 
  group_by(year) %>% 
  summarise(sum_budget = sum(budget, na.rm = TRUE), 
            sum_military = sum(Military, na.rm = TRUE),
            sum_peace_corps_aid = sum(sum_peace_corps, na.rm = TRUE),
            sum_dept_of_state_aid = sum(sum_dept_state, na.rm = TRUE),
          sum_economic = sum(Economic, na.rm = TRUE)) %>% 
  ggplot(aes(x = year)) +
  geom_point(aes(y = sum_budget), size = 3, alpha = 0.7, color = "red") + 
  geom_line(aes(y = sum_budget), size = 2, alpha = 0.7, color = "red") +
  geom_point(aes(y = sum_military), size = 3, alpha = 0.7, color = "blue") + 
  geom_line(aes(y = sum_military), size = 2, alpha = 0.7, color = "blue") +
  geom_point(aes(y = sum_economic), size = 3, alpha = 0.7, color = "green") + 
  geom_line(aes(y = sum_economic), size = 2, alpha = 0.7, color = "green") +
  geom_point(aes(y = sum_dept_of_state_aid), size = 3, alpha = 0.7, color = "yellow") + 
  geom_line(aes(y = sum_dept_of_state_aid), size = 2, alpha = 0.7, color = "yellow") +
  geom_point(aes(y = sum_peace_corps_aid), size = 3, alpha = 0.7, color = "orange") + 
  geom_line(aes(y = sum_peace_corps_aid), size = 2, alpha = 0.7, color = "orange") +
  bbplot::bbc_style() + expand_limits(y = 0) +
  scale_y_continuous(labels = scales::comma)

pd %>% 
  filter(year > 2012 & year < 2020) %>% 
  group_by(year) %>% 
  summarise(sum_budget = sum(budget, na.rm = TRUE), 
            sum_military = sum(Military, na.rm = TRUE),
            sum_peace_corps_aid = sum(sum_peace_corps, na.rm = TRUE),
            sum_dept_of_state_aid = sum(sum_dept_state, na.rm = TRUE),
          sum_economic = sum(Economic, na.rm = TRUE)) %>% 
  ggplot(aes(x = year)) +  
  geom_point(aes(y = sum_dept_of_state_aid), size = 3, alpha = 0.7, color = "yellow") + 
  geom_line(aes(y = sum_dept_of_state_aid), size = 2, alpha = 0.7, color = "yellow") +
  geom_point(aes(y = sum_peace_corps_aid), size = 3, alpha = 0.7, color = "orange") + 
  geom_line(aes(y = sum_peace_corps_aid), size = 2, alpha = 0.7, color = "orange") + 
  geom_point(aes(y = sum_budget), size = 3, alpha = 0.7, color = "red") + 
  geom_line(aes(y = sum_budget), size = 2, alpha = 0.7, color = "red") +
  bbplot::bbc_style() + expand_limits(y = 0) +
  scale_y_continuous(labels = scales::comma)
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database

pd %>% 
    filter(year > 2012 & year < 2020) %>% 
  filter(country_name != "Afghanistan") %>% 
  filter(country_name != "Pakistan") %>% 
  filter(country_name != "Iraq") %>% 
  # filter(income_grp !="NULL") %>% 
  filter(!is.na(income_grp)) %>% 
  group_by(income_grp, year) %>% 
  summarise(sum_budget = sum(budget, na.rm = TRUE), year) %>% 
  ggplot(aes(x = year, y = sum_budget, 
             group = as.factor(income_grp), 
             color = income_grp)) +
 geom_point(size = 3, alpha = 0.7) + 
  geom_line(size = 2, alpha = 0.7) +
  # bbplot::bbc_style() + 
  expand_limits(x = 2013, y = 0) +
  scale_y_continuous(labels = scales::comma) + theme(legend.position = "bottom")
## `summarise()` has grouped output by 'income_grp', 'year'. You can override using the `.groups` argument.

##Democracies only

If we look at aid across only democracies, we see

pd %>% 
  filter(polity_score > 6) %>% 
  filter(country_name.x != "Israel") %>% 
  filter(year > 2012 & year < 2020) %>% 
  group_by(year) %>% 
  summarise(sum_budget = sum(budget, na.rm = TRUE), 
            sum_military = sum(Military, na.rm = TRUE),
            sum_peace_corps_aid = sum(sum_peace_corps, na.rm = TRUE),
            sum_dept_of_state_aid = sum(sum_dept_state, na.rm = TRUE)) %>% 
          # sum_economic = sum(Economic, na.rm = TRUE))

  ggplot(aes(x = year)) +
  geom_point(aes(y = sum_budget), size = 3, alpha = 0.7, color = "red") + 
  geom_line(aes(y = sum_budget), size = 2, alpha = 0.7, color = "red") +
  geom_point(aes(y = sum_military), size = 3, alpha = 0.7, color = "blue") + 
  geom_line(aes(y = sum_military), size = 2, alpha = 0.7, color = "blue") +
  geom_point(aes(y = sum_dept_of_state_aid), size = 3, alpha = 0.7, color = "yellow") + 
  geom_line(aes(y = sum_dept_of_state_aid), size = 2, alpha = 0.7, color = "yellow") +
  geom_point(aes(y = sum_peace_corps_aid), size = 3, alpha = 0.7, color = "orange") + 
  geom_line(aes(y = sum_peace_corps_aid), size = 2, alpha = 0.7, color = "orange") +
  # bbplot::bbc_style() + 
  expand_limits(y = 0) +
  scale_y_continuous(labels = scales::comma)

Budget across continents

pd %>% 
    filter(year > 2012 & year < 2020) %>% 
  filter(country_name != "Afghanistan") %>% 
  filter(country_name != "Pakistan") %>% 
  filter(country_name != "Iraq") %>% 
  filter(continent != "Seven seas (open ocean)") %>% 
  filter(!is.na(region_wb)) %>% 
  group_by(region_wb, year) %>% 
  summarise(sum_budget = sum(budget, na.rm = TRUE), year) %>% 
  ggplot(aes(x = year, y = sum_budget, 
             group = as.factor(region_wb), 
             color = region_wb)) +
  geom_point(size = 3, alpha = 0.7) + 
  geom_line(size = 2, alpha = 0.7) +
  # bbplot::bbc_style() + 
  expand_limits(y = 0) +
  scale_y_continuous(labels = scales::comma) + theme(legend.position = "bottom")

## Budget across different levels of freedom
r pd %>% filter(year > 2012 & year < 2020) %>% dplyr::mutate(freedom_house = dplyr::recode(as.factor(freedom_house), "1" = "Free", "2" = "Partly Free", "3" = "Not Free")) %>% filter(country_name != "Afghanistan") %>% filter(country_name != "Pakistan") %>% filter(country_name != "Iraq") %>% filter(!is.na(freedom_house)) %>% filter(year != 2013) %>% group_by(freedom_house, year) %>% summarise(sum_budget = sum(budget, na.rm = TRUE), year) %>% ggplot(aes(x = year, y = sum_budget, group = as.factor(freedom_house), color = as.factor(freedom_house))) + geom_point(size = 3, alpha = 0.7) + geom_line(size = 2, alpha = 0.7) + # bbplot::bbc_style() + expand_limits(y = 0) + scale_y_continuous(labels = scales::comma)
r pd %>% filter(year > 2012 & year < 2020) %>% filter(country_name != "Afghanistan") %>% filter(country_name != "Pakistan") %>% filter(country_name != "Iraq") %>% filter(!is.na(economy)) %>% filter(year != 2013) %>% group_by(economy, year) %>% summarise(sum_budget = sum(budget, na.rm = TRUE), year) %>% ggplot(aes(x = year, y = sum_budget, group = as.factor(economy), color = as.factor(economy))) + geom_point(size = 3, alpha = 0.7) + geom_line(size = 2, alpha = 0.7) + # bbplot::bbc_style() + expand_limits(y = 0) + scale_y_continuous(labels = scales::comma)
pd %>% 
dplyr::filter(year == 2019) %>% 
  # filter(!is.na(year)) %>% 
  # mutate(peace_corp_binary = ifelse(sum_peace_corps > 0, 1, 0)) %>% 
  # filter(!is.na(peace_corp_binary)) %>%
  # filter(peace_corp_binary == 1) %>% 
    dplyr::mutate(freedom_house = dplyr::recode(as.factor(freedom_house),
                                "1" = "Free",
                                "2" = "Partly Free",
                                "3" = "Not Free")) %>% 
  ggplot(aes(y = log(budget), 
             x = log(Military), 
             group = freedom_house, 
             color = freedom_house)) +
  geom_point(size = 1, alpha = 0.7) + 
  # geom_text(aes(label = country_name)) +
  # geom_line(size = 2, alpha = 0.7) +
   # facet_wrap(~year) +
  # geom_smooth(method = "loess") +
  scale_y_continuous(labels = scales::comma) + 
  theme(legend.position = "bottom")

pd %>%
  dplyr::filter(year == 2019) %>% 
  # mutate(peace_corp_binary = ifelse(sum_peace_corps > 0, 1, 0)) %>% 
  # filter(!is.na(peace_corp_binary)) %>%
  # filter(peace_corp_binary == 1) %>% 
  dplyr::mutate(freedom_house = dplyr::recode(as.factor(freedom_house),
                                "1" = "Free",
                                "2" = "Partly Free",
                                "3" = "Not Free")) %>% 
  ggplot(aes(y = log(budget), 
             x = log(Economic), 
             group = as.factor(freedom_house), 
             color = as.factor(freedom_house))) +
  geom_point(size = 1, alpha = 0.7) + 
  # geom_text(aes(label = country_name)) +
  # geom_line(size = 2, alpha = 0.7) +
   # facet_wrap(~year) +
  # geom_smooth(method = "loess") +
  scale_y_continuous(labels = scales::comma) + 
  theme(legend.position = "bottom")

# map <- ne_countries(scale = "medium", returnclass = "sf")
# 
# map$COWcode <- countrycode(map$adm0_a3, "country", "cown") 
# 
# pd_map <- merge(map, pd, by.x = "COWcode", by.y = "cow_code", all.y = TRUE)
# 
# bud <- read.csv("C:/Users/Paula/Documents/public_diplomacy_data_sources/budget6.csv")

pd2 <- read.csv("C:/Users/Paula/Documents/public_diplomacy_data_sources/bud16.csv")

pd2 %<>% 
  filter(COWcode != 6666) %>% 
  filter(COWcode != 2)

library(dvmisc)
## Loading required package: rbenchmark
## 
## Attaching package: 'dvmisc'
## The following object is masked from 'package:tidyr':
## 
##     expand_grid
pd2$demo_groups <- quant_groups(pd2$api_demo, 5)
## Observations per group: 317, 313, 316, 317, 312. 0 missing.
pd2 %>% 
  # dplyr::filter( year != 2012) %>% 
  # dplyr::filter(year != 2020) %>%
  dplyr::filter(year == 2019) %>% 
  ggplot(aes(x =log(budget), y = log(Military))) + 
  facet_wrap(~demo_groups) + geom_smooth(method = "lm") + 
  theme(legend.position = "bottom") + geom_text(aes(label = country_name.x, color = as.factor(us_defence_pact)), size = 2)
## `geom_smooth()` using formula 'y ~ x'
## Warning: Removed 39 rows containing non-finite values (stat_smooth).
## Warning: Removed 26 rows containing missing values (geom_text).

library(plm)
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
library(knitr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
stargazer(plm(log(Military + 0.001) ~ 
                api_demo +
                log(pop) +
                ideal_point_diff +
                log(GDP_constant_2010) +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) + 
                percent_muslim + 
                percent_jewish +
                as.factor(us_defence_pact) +
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")),
          
          plm(log(Economic  + 0.001) ~ 
                api_demo +
                log(pop) +
                ideal_point_diff +
                log(GDP_constant_2010) +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                percent_jewish +
                as.factor(us_defence_pact) +
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")),

          plm(log(budget  + 0.001) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                ideal_point_diff +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                percent_jewish +
                as.factor(us_defence_pact) + 
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")), 
          
          plm(log(sum_peace_corps  + 0.001) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                ideal_point_diff +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                percent_jewish +
                as.factor(us_defence_pact) + 
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")), 
          
          plm(log(sum_dept_state  + 0.001) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                ideal_point_diff +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                percent_jewish +
                as.factor(us_defence_pact) + 
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")), 
          
          type ="text") 
## 
## ====================================================================================================================================================
##                                                                               Dependent variable:                                                   
##                             ------------------------------------------------------------------------------------------------------------------------
##                             log(Military + 0.001) log(Economic + 0.001) log(budget + 0.001) log(sum_peace_corps + 0.001) log(sum_dept_state + 0.001)
##                                      (1)                   (2)                  (3)                     (4)                          (5)            
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## api_demo                          13.938***              -1.111               0.881**                  0.753                       -2.376           
##                                    (3.257)               (1.697)              (0.422)                 (2.808)                      (3.345)          
##                                                                                                                                                     
## log(pop)                          2.584***              2.671***             0.387***                 3.709***                    3.468***          
##                                    (0.630)               (0.295)              (0.082)                 (0.862)                      (0.636)          
##                                                                                                                                                     
## ideal_point_diff                   -1.445*                0.603                0.115                  -1.472*                     3.366***          
##                                    (0.842)               (0.433)              (0.107)                 (0.753)                      (0.863)          
##                                                                                                                                                     
## log(GDP_constant_2010)            -2.501***             -2.453***             -0.042                 -5.151***                    -3.143***         
##                                    (0.707)               (0.352)              (0.098)                 (0.797)                      (0.729)          
##                                                                                                                                                     
## log(tradeflow_to_china)           -0.554**               -0.023               -0.019                   0.122                        0.233           
##                                    (0.244)               (0.133)              (0.038)                 (0.193)                      (0.266)          
##                                                                                                                                                     
## log(tradeflow_to_russia)           -0.162                 0.041               0.035**                  0.059                       0.306**          
##                                    (0.136)               (0.074)              (0.017)                 (0.106)                      (0.140)          
##                                                                                                                                                     
## log(tradeflow_to_us)              0.775***               0.275**               0.057                  0.932***                     -0.102           
##                                    (0.241)               (0.126)              (0.035)                 (0.202)                      (0.247)          
##                                                                                                                                                     
## percent_muslim                    0.070***                0.012               0.005**                  0.036                       0.035*           
##                                    (0.019)               (0.009)              (0.003)                 (0.027)                      (0.019)          
##                                                                                                                                                     
## percent_jewish                      0.140                0.132**               0.025                   -0.143                     0.390***          
##                                    (0.125)               (0.058)              (0.016)                 (0.179)                      (0.126)          
##                                                                                                                                                     
## as.factor(us_defence_pact)1         0.365                 0.512                0.034                   2.110                        2.451           
##                                    (1.700)               (0.783)              (0.219)                 (2.484)                      (1.710)          
##                                                                                                                                                     
## log(dist_to_china.y)                1.658                -0.562              -0.427**                  2.127                        0.903           
##                                    (1.487)               (0.692)              (0.191)                 (2.131)                      (1.498)          
##                                                                                                                                                     
## log(dist_to_usa.y)                  1.594               -1.917***             -0.035                   -1.953                      -0.478           
##                                    (1.485)               (0.685)              (0.187)                 (2.171)                      (1.496)          
##                                                                                                                                                     
## Constant                           -7.652               49.830***            11.217***                 52.813                      12.372           
##                                   (26.766)              (12.491)              (3.368)                 (37.886)                    (27.074)          
##                                                                                                                                                     
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## Observations                         645                   634                  546                     630                          638            
## R2                                  0.097                 0.136                0.192                   0.086                        0.158           
## Adjusted R2                         0.080                 0.120                0.174                   0.068                        0.142           
## F Statistic                       78.445***            162.045***           121.726***               58.024***                   130.210***         
## ====================================================================================================================================================
## Note:                                                                                                                    *p<0.1; **p<0.05; ***p<0.01
stargazer(plm(lead(log(Military + 0.001)) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) + 
                percent_muslim + 
                as.factor(us_defence_pact) +
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")),
          
          plm(lead(log(Economic  + 0.001)) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                as.factor(us_defence_pact) +
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")),

          plm(lead(log(budget  + 0.001)) ~ 
                api_demo +
                log(pop) +
                log(GDP_constant_2010) +
                log(tradeflow_to_china) +
                log(tradeflow_to_russia) +
                log(tradeflow_to_us) +
                percent_muslim + 
                as.factor(us_defence_pact) + 
                log(dist_to_china.y) + 
                log(dist_to_usa.y),
              data = pd2,
              model = "random",
              index = c("COWcode", "year")), type ="text") 
## 
## =============================================================================================================
##                                                            Dependent variable:                               
##                             ---------------------------------------------------------------------------------
##                             lead(log(Military + 0.001)) lead(log(Economic + 0.001)) lead(log(budget + 0.001))
##                                         (1)                         (2)                        (3)           
## -------------------------------------------------------------------------------------------------------------
## api_demo                             16.815***                    -2.429                      0.529          
##                                       (3.040)                     (1.704)                    (0.352)         
##                                                                                                              
## log(pop)                             2.015***                    2.924***                   0.387***         
##                                       (0.600)                     (0.306)                    (0.075)         
##                                                                                                              
## log(GDP_constant_2010)               -2.894***                   -2.519***                   -0.042          
##                                       (0.695)                     (0.383)                    (0.087)         
##                                                                                                              
## log(tradeflow_to_china)               -0.149                      -0.099                     -0.010          
##                                       (0.244)                     (0.146)                    (0.034)         
##                                                                                                              
## log(tradeflow_to_russia)              -0.056                      -0.062                     0.036**         
##                                       (0.134)                     (0.080)                    (0.016)         
##                                                                                                              
## log(tradeflow_to_us)                 0.975***                     0.354**                     0.032          
##                                       (0.241)                     (0.139)                    (0.029)         
##                                                                                                              
## percent_muslim                       0.071***                     0.019*                     0.005**         
##                                       (0.019)                     (0.010)                    (0.002)         
##                                                                                                              
## as.factor(us_defence_pact)1            0.579                       0.534                      0.085          
##                                       (1.717)                     (0.868)                    (0.218)         
##                                                                                                              
## log(dist_to_china.y)                   1.120                      -0.365                    -0.396**         
##                                       (1.477)                     (0.752)                    (0.186)         
##                                                                                                              
## log(dist_to_usa.y)                     1.725                     -1.966***                   -0.036          
##                                       (1.493)                     (0.755)                    (0.185)         
##                                                                                                              
## Constant                              -0.270                     49.290***                  11.643***        
##                                      (26.983)                    (13.838)                    (3.320)         
##                                                                                                              
## -------------------------------------------------------------------------------------------------------------
## Observations                            644                         635                        630           
## R2                                     0.085                       0.131                      0.162          
## Adjusted R2                            0.071                       0.117                      0.148          
## F Statistic                          69.326***                  152.630***                 108.272***        
## =============================================================================================================
## Note:                                                                             *p<0.1; **p<0.05; ***p<0.01
getwd()
## [1] "C:/Users/Paula/Documents"
pew <- read.csv("public_diplomacy_data_sources/completed_pew_opinion_of_us.csv")