Net international investment position - annual data

Data - Eurostat

Info

source dataset .html .qmd .RData
eurostat tipsii10 2026-04-15 2025-10-01 2026-04-14

DOWNLOAD_TIME

Code
tibble(DOWNLOAD_TIME = as.Date(file.info("~/iCloud/website/data/eurostat/tipsii10.RData")$mtime)) %>%
  print_table_conditional()
DOWNLOAD_TIME
2026-04-14

Last

Code
tipsii10 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2025 52

geo

Code
tipsii10 %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

unit

Code
tipsii10 %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
PC_GDP Percentage of gross domestic product (GDP) 731
MIO_NAC Million units of national currency 714

time

Code
tipsii10 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

Table

Code
tipsii10 %>%
  filter(unit == "PC_GDP",
         time == "2020") %>%
  select_if(~ n_distinct(.) > 1) %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, values) %>%
  arrange(-values) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, Germany, Italy, Belgium, Netherlands

Code
tipsii10 %>%
  filter(geo %in% c("DE", "BE", "FR", "IT", "NL", "ES"),
         unit == "PC_GDP") %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_6flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Net international investment position - annual data") +
  scale_y_continuous(breaks = 0.01*seq(-300, 200, 10),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = -0.35, linetype = "dashed") +
  geom_hline(yintercept = 0, linetype = "solid")

France, Germany, Italy, Spain, Netherlands

Code
tipsii10 %>%
  filter(geo %in% c("DE", "ES", "FR", "IT", "NL"),
         unit == "PC_GDP") %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Net international investment position - annual data") +
  scale_y_continuous(breaks = 0.01*seq(-300, 200, 20),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = -0.35, linetype = "dashed") +
  geom_hline(yintercept = 0, linetype = "solid")