Introduction

In a somehow crazy paper Washington Must Prepare for War With Both Russia and China (https://foreignpolicy.com/2022/02/18/us-russia-china-war-nato-quadrilateral-security-dialogue/) Matthew Kroenig (deputy director of the Atlantic Council’s Scowcroft Center for Strategy and Security.) claims that US is capable to fight on both fronts as ``The United States possesses 24 percent of global GDP compared to a combined 19 percent in China and Russia.’’

Lets check. The data are from the WorldBank

GDP total constant USD

As we compare global shares, current USD seems OK.

################
### GDP constant prices

gdp1 <- gdpc %>%
  filter (year >= 1990) %>%
  select (code=iso3c, year, gdp=NY.GNP.MKTP.CD) %>%
  pivot_wider(names_from = code, values_from = gdp) %>%
  mutate(
    CHN = CHN/WLD * 100,
    EU = EUU/WLD * 100,
    IND = IND/WLD * 100,
    RUS = RUS/WLD * 100,
    USA = USA/WLD * 100
  ) %>%
  select (year, CHN, EU, IND, RUS, USA) %>%
  pivot_longer(cols= c('CHN', 'EU', 'IND', 'RUS', 'USA'),
               names_to = 'entity', values_to = 'gdp')

p1 <- ggplot(gdp1, aes(x=year, y=gdp, color=entity )) +
  geom_point(size=.6, alpha=.3) +
  geom_smooth(method="loess", se=F, span=.5) +
  ylab(label="% global share") +
  xlab("") +
  scale_y_continuous(breaks = seq(0, 32, by=2)) +
  ggtitle("GDP Constant prices", subtitle="source: World Bank/NY.GNP.MKTP.CD")
p1
## `geom_smooth()` using formula = 'y ~ x'

seems Mr. Kroenig compared GDP in current/constant USD…

GDP/PPP total

PPP seems to be even more OK because of prices variations among countries.

##
gdp2 <- gdpp %>%
  filter (year >= 1990) %>%
  select (code=iso3c, year, gdp=NY.GDP.MKTP.PP.CD) %>%
  pivot_wider(names_from = code, values_from = gdp) %>%
  mutate(
    CHN = CHN/WLD * 100,
    EU = EUU/WLD * 100,
    IND = IND/WLD * 100,
    RUS = RUS/WLD * 100,
    USA = USA/WLD * 100
  ) %>%
  select (year, CHN, EU, IND, RUS, USA) %>%
  pivot_longer(cols= c('CHN', 'EU', 'IND', 'RUS', 'USA'),
               names_to = 'entity', values_to = 'gdp')

p2 <- ggplot(gdp1, aes(x=year, y=gdp, color=entity )) +
  geom_point(size=.6, alpha=.3) +
  geom_smooth(method="loess", se=F, span=.5) +
  ylab(label="% global share") +
  xlab("") +
  scale_y_continuous(breaks = seq(0, 32, by=2)) +
  ggtitle("GDP PPP", subtitle="source: World Bank/NY.GDP.MKTP.PP.CD")
p2
## `geom_smooth()` using formula = 'y ~ x'

In this version of GDP the US is not #1 any more…

Manufacturing

Service sector maybe not so crucial at war. Lets check Manufacturing, value added (current US$) (https://data.worldbank.org/indicator/NV.IND.MANF.CD)

###

prod1 <- prod %>%
  filter (year >= 1990) %>%
  select (code=iso3c, year, prod=NV.IND.MANF.CD) %>%
  pivot_wider(names_from = code, values_from = prod) %>%
  mutate(
    CHN = CHN/WLD * 100,
    EU = EUU/WLD * 100,
    IND = IND/WLD * 100,
    RUS = RUS/WLD * 100,
    USA = USA/WLD * 100
  ) %>%
  select (year, CHN, EU, IND, RUS, USA) %>%
  pivot_longer(cols= c('CHN', 'EU', 'IND', 'RUS', 'USA'),
               names_to = 'entity', values_to = 'prod')

p3 <- ggplot(prod1, aes(x=year, y=prod, color=entity )) +
  geom_point(size=.6, alpha=.3) +
  geom_smooth(method="loess", se=F, span=.5) +
  ylab(label="% global share") +
  xlab("") +
  scale_y_continuous(breaks = seq(0, 32, by=2)) +
  ggtitle("Manufacturing Value Added/Current USD", subtitle="source: World Bank/NV.IND.MANF.CD")
p3
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 48 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 48 rows containing missing values (`geom_point()`).

inf1 <- inf %>%
  filter (year >= 1990) %>%
  filter (iso3c != 'RUS' & iso3c != 'IND') %>%
  select (code=iso3c, year, inf=FP.CPI.TOTL.ZG) %>%
  pivot_wider(names_from = code, values_from = inf) %>%
  select (year, CHN, EU=EUU, USA) %>%
  pivot_longer(cols= c('CHN', 'EU', 'USA'),
               names_to = 'entity', values_to = 'inf')

p4 <- ggplot(inf1, aes(x=year, y=inf, color=entity )) +
  geom_point(size=.6, alpha=.3) +
  geom_smooth(method="loess", se=F, span=.5) +
  ylab(label="%") +
  xlab("") +
  scale_y_continuous(breaks = seq(0, 32, by=2)) +
  ggtitle("GDP", subtitle="source: World Bank")
p4
## `geom_smooth()` using formula = 'y ~ x'