| source | dataset | Title | Updated |
|---|---|---|---|
| imf | GGXWDN_G01_GDP_PT | Net debt (% of GDP) | 2026-08-01 |
Net debt (% of GDP)
Data - IMF
Info
Data on public debt
| source | dataset | Title | Updated |
|---|---|---|---|
| imf | GGXWDN_G01_GDP_PT | Net debt (% of GDP) | 2026-08-01 |
| eurostat | ei_mfir_m | Interest rates - monthly data | 2026-08-14 |
| eurostat | gov_10q_ggdebt | Quarterly government debt | 2026-08-13 |
| fred | r | Interest Rates | 2026-08-13 |
| fred | saving | Saving - saving | 2026-08-13 |
| gfd | debt | Debt | 2021-08-22 |
| imf | FM | Fiscal Monitor (FM) | 2026-07-25 |
| imf | GGXCNL_G01_GDP_PT | Net lending/borrowing (also referred as overall balance) (% of GDP) | 2026-08-01 |
| imf | GGXONLB_G01_GDP_PT | Primary net lending/borrowing (also referred as primary balance) (% of GDP) | 2026-08-01 |
| imf | HPDD | NA | NA |
| oecd | QASA_TABLE7PSD | Quarterly Sector Accounts - Public Sector Debt, consolidated, nominal value | 2026-08-02 |
| wdi | GC.DOD.TOTL.GD.ZS | Central government debt, total (% of GDP) | 2026-08-13 |
| wdi | GC.XPN.INTP.CN | Interest payments (current LCU) | 2026-08-13 |
| wdi | GC.XPN.INTP.RV.ZS | Interest payments (% of revenue) | 2026-08-13 |
| wdi | GC.XPN.INTP.ZS | Interest payments (% of expense) | 2026-08-13 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-14 |
Last
| TIME_PERIOD | FREQ | Nobs |
|---|---|---|
| 2030 | A | 100 |
FREQ
Code
GGXWDN_G01_GDP_PT |>
left_join(FREQ, by = "FREQ") |>
group_by(FREQ, Freq) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| FREQ | Freq | Nobs |
|---|---|---|
| A | Annual | 3392 |
REF_AREA
Code
GGXWDN_G01_GDP_PT |>
left_join(REF_AREA, by = "REF_AREA") |>
group_by(REF_AREA, Ref_area) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Ref_area))),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}TIME_PERIOD
Code
GGXWDN_G01_GDP_PT |>
group_by(TIME_PERIOD) |>
summarise(Nobs = n()) |>
arrange(desc(TIME_PERIOD)) |>
print_table_conditional()US, Zone Euro
All
Code
plot <- GGXWDN_G01_GDP_PT |>
filter(REF_AREA %in% c("US", "U2")) |>
year_to_date2() |>
filter(date >= as.Date("1999-01-01")) |>
left_join(REF_AREA, by = "REF_AREA") |>
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", "United States")) |>
left_join(colors, by = c("Ref_area" = "country")) |>
mutate(color = ifelse(REF_AREA == "US", color2, color)) |>
mutate(OBS_VALUE = OBS_VALUE/100) |>
rename(Counterpart_area = Ref_area) |>
#filter(date <= as.Date("2021-01-01")) %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
theme_minimal() + xlab("") + ylab("Dette publique nette, % du PIB") +
scale_color_identity() + add_flags +
scale_x_date(breaks = c(seq(1999, 2100, 5), seq(1997, 2100, 5)) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 400, 10),
labels = percent_format(accuracy = 1))
save(plot, file = "GGXWDN_G01_GDP_PT_files/figure-html/US-U2-1.RData")
plot
Net Government Debt (% of GDP)
Code
GGXWDN_G01_GDP_PT |>
filter(TIME_PERIOD == "2018") |>
left_join(REF_AREA, by = "REF_AREA") |>
select(REF_AREA, Ref_area, OBS_VALUE) |>
arrange(-OBS_VALUE) |>
na.omit() %>%
mutate_at(vars(3), funs(paste0(round(as.numeric(.), 1), " %"))) |>
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Ref_area))),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}France, United States, Germany, Japan
Tous
Code
GGXWDN_G01_GDP_PT |>
filter(REF_AREA %in% c("FR", "US", "DE", "JP")) |>
year_to_date2() |>
left_join(REF_AREA, by = "REF_AREA") |>
left_join(colors, by = c("Ref_area" = "country")) |>
rename(Counterpart_area = Ref_area) |>
#filter(date >= as.Date("2015-01-01")) %>%
mutate(OBS_VALUE = OBS_VALUE/100) |>
ggplot() + theme_minimal() + xlab("") + ylab("Public debt (years of GDP)") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 260, 20),
labels = scales::dollar_format(acc = .1, pre = "", su = " y")) +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 5), "-01-01")),
labels = date_format("%Y"))
2000-
Code
GGXWDN_G01_GDP_PT |>
filter(REF_AREA %in% c("FR", "US", "DE", "JP")) |>
year_to_date2() |>
left_join(REF_AREA, by = "REF_AREA") |>
left_join(colors, by = c("Ref_area" = "country")) |>
rename(Counterpart_area = Ref_area) |>
filter(date >= as.Date("2000-01-01")) |>
mutate(OBS_VALUE = OBS_VALUE/100) |>
ggplot() + theme_minimal() + xlab("") + ylab("Net public debt (years of GDP)") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 260, 20),
labels = scales::dollar_format(acc = .1, pre = "", su = " y")) +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
labels = date_format("%Y"))
France, United States, Germany, Japan, Italy, Netherlands
Tous
Code
GGXWDN_G01_GDP_PT |>
filter(REF_AREA %in% c("FR", "US", "DE", "JP", "IT", "NL")) |>
year_to_date2() |>
left_join(REF_AREA, by = "REF_AREA") |>
left_join(colors, by = c("Ref_area" = "country")) |>
rename(Counterpart_area = Ref_area) |>
#filter(date >= as.Date("2015-01-01")) %>%
mutate(OBS_VALUE = OBS_VALUE/100) |>
ggplot() + theme_minimal() + xlab("") + ylab("Public debt (years of GDP)") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 260, 20),
labels = scales::dollar_format(acc = .1, pre = "", su = " y")) +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 5), "-01-01")),
labels = date_format("%Y"))
2000-
Code
GGXWDN_G01_GDP_PT |>
filter(REF_AREA %in% c("FR", "US", "DE", "JP", "IT", "NL")) |>
year_to_date2() |>
left_join(REF_AREA, by = "REF_AREA") |>
left_join(colors, by = c("Ref_area" = "country")) |>
rename(Counterpart_area = Ref_area) |>
filter(date >= as.Date("2000-01-01")) |>
mutate(OBS_VALUE = OBS_VALUE/100) |>
ggplot() + theme_minimal() + xlab("") + ylab("Net public debt (years of GDP)") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 260, 20),
labels = scales::dollar_format(acc = .1, pre = "", su = " y")) +
scale_x_date(breaks = as.Date(paste0(seq(1990, 2100, 2), "-01-01")),
labels = date_format("%Y"))