(Keep working in the R script from Exercise 1 — you already have Dat. If not: the starter code and the "Stuck?" box are in Exercise 1.)

  1. Regress poverty on state ownership of the economy (edge ① again, now as a regression). With a one-unit increase in state ownership, poverty changes by: percentage points (two digits; point or comma is fine).
ols_1 <- lm_robust(poverty ~ state_ownership, data = Dat)

modelsummary(
  list("Poverty" = ols_1),
  statistic = NULL,                 # No statistical inference (yet)
  gof_map = c("nobs", "r.squared")
)
Poverty
(Intercept) 15.914
state_ownership 2.742
Num.Obs. 161
R2 0.017
  1. Write one sentence in your R script (as a # comment) interpreting that slope — descriptively, as in the lecture. Then compare:

Across 161 countries, one unit more state ownership of the economy (≈ one standard deviation on the V-Dem scale) is associated with, on average, 2.74 percentage points more of the population in extreme poverty.

(Direction, size, units — and no causal language: "is associated with", not "leads to".)

  1. Regress poverty on civil liberties (edge ② as a regression). With a one-unit increase in civil liberties, poverty changes by: percentage points (two digits).
ols_2 <- lm_robust(poverty ~ civ_liberties, data = Dat)

modelsummary(
  list("Poverty" = ols_2),
  statistic = NULL,
  gof_map = c("nobs", "r.squared")
)
Poverty
(Intercept) 32.503
civ_liberties -26.738
Num.Obs. 161
R2 0.106

One sentence: countries with a one-unit stronger civil liberties have, on average, 26.7 percentage points less of their population in extreme poverty.

  1. Which of the two is the better model of the variance of poverty across the world?

  2. Now the missing edge ③: make a scatter plot with civil liberties on the Y-axis and state ownership of the economy on the X-axis.

ggplot(data = Dat, aes(y = civ_liberties, x = state_ownership)) +
  geom_text(aes(label = country)) +
  labs(y = "Civil liberties",
       x = "State ownership of the economy (V-Dem, reversed)") +
  theme_minimal()

  1. Before computing: judging from your scatter plot, the correlation on edge ③ is …

  2. Regress civil liberties on state ownership. With a one-unit increase in state ownership, civil liberties change by: (two digits).

ols_3 <- lm_robust(civ_liberties ~ state_ownership, data = Dat)

modelsummary(
  list("Civil liberties" = ols_3),
  statistic = NULL,
  gof_map = c("nobs", "r.squared")
)
Civil liberties
(Intercept) 0.571
state_ownership -0.176
Num.Obs. 161
R2 0.479
  1. Make one regression table with all three models — the complete triangle — and discuss with your neighbour, in three steps:

    1. Which edge of the triangle shows the strongest association, which the weakest?
    2. A defender of the trade-off thesis points at China (state-owned, extreme poverty ≈ 0). What do you answer, looking at all countries?
    3. Why can none of this be read causally (yet)? What would we need?
modelsummary(
  list("Poverty" = ols_1, "Poverty" = ols_2, "Civil liberties" = ols_3),
  statistic = NULL,
  gof_map = c("nobs", "r.squared")
)
Poverty Poverty Civil liberties
(Intercept) 15.914 32.503 0.571
state_ownership 2.742 -0.176
civ_liberties -26.738
Num.Obs. 161 161 161
R2 0.017 0.106 0.479

Talking points: (a) Edge ③ is by far the strongest — state ownership comes with far fewer civil liberties; edge ① is the weakest — no systematic poverty payoff. (b) One case is an anecdote; across all countries the average pattern shows no poverty advantage. (And is China's poverty reduction because of state ownership, or of markets, growth, or something else entirely?) (c) These are descriptive comparisons of different countries that differ in many further ways — confounding. What we would need is the topic of the coming weeks: designs and methods that identify causal effects.


Bonus (for the fast): rerun edge ① without China and Vietnam. Does the conclusion change? What does that tell you about how sensitive our verdict is to single cases?

ols_1b <- lm_robust(poverty ~ state_ownership,
                    data = Dat %>% filter(!country %in% c("China", "Viet Nam")))

modelsummary(
  list("All countries" = ols_1, "Without CHN & VNM" = ols_1b),
  statistic = NULL,
  gof_map = c("nobs", "r.squared")
)
All countries Without CHN & VNM
(Intercept) 15.914 16.417
state_ownership 2.742 3.142
Num.Obs. 161 159
R2 0.017 0.022

The slope barely moves — the "no poverty payoff" conclusion does not hinge on the two famous cases. Checking whether results survive removing influential cases is called a robustness check — remember it for your term paper.