OECD Data Live dataset
Data - OECD
Info
Data on macro
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | nama_10_a10 | Gross value added and income by A*10 industry breakdowns | 2025-12-25 | 2025-12-25 |
| eurostat | nama_10_a10_e | Employment by A*10 industry breakdowns | 2025-12-25 | 2025-12-25 |
| eurostat | nama_10_gdp | GDP and main components (output, expenditure and income) | 2025-12-25 | 2025-12-25 |
| eurostat | nama_10_lp_ulc | Labour productivity and unit labour costs | 2025-12-25 | 2025-12-25 |
| eurostat | namq_10_a10 | Gross value added and income A*10 industry breakdowns | 2025-12-25 | 2025-12-25 |
| eurostat | namq_10_a10_e | Employment A*10 industry breakdowns | 2025-05-24 | 2025-12-25 |
| eurostat | namq_10_gdp | GDP and main components (output, expenditure and income) | 2025-10-27 | 2025-12-25 |
| eurostat | namq_10_lp_ulc | Labour productivity and unit labour costs | 2025-12-25 | 2025-12-25 |
| eurostat | namq_10_pc | Main GDP aggregates per capita | 2025-12-25 | 2025-12-25 |
| eurostat | nasa_10_nf_tr | Non-financial transactions | 2025-12-25 | 2025-12-25 |
| eurostat | nasq_10_nf_tr | Non-financial transactions | 2025-12-25 | 2025-12-25 |
| fred | gdp | Gross Domestic Product | 2025-12-25 | 2025-12-25 |
| oecd | QNA | Quarterly National Accounts | 2024-06-06 | 2025-05-24 |
| oecd | SNA_TABLE1 | Gross domestic product (GDP) | 2025-11-17 | 2025-05-24 |
| oecd | SNA_TABLE14A | Non-financial accounts by sectors | 2025-11-17 | 2024-06-30 |
| oecd | SNA_TABLE2 | Disposable income and net lending - net borrowing | 2024-07-01 | 2024-04-11 |
| oecd | SNA_TABLE6A | Value added and its components by activity, ISIC rev4 | 2024-07-01 | 2024-06-30 |
| wdi | NE.RSB.GNFS.ZS | External balance on goods and services (% of GDP) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.MKTP.CD | GDP (current USD) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.MKTP.PP.CD | GDP, PPP (current international D) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.PCAP.CD | GDP per capita (current USD) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.PCAP.KD | GDP per capita (constant 2015 USD) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international D) | 2025-12-24 | 2025-12-24 |
| wdi | NY.GDP.PCAP.PP.KD | GDP per capita, PPP (constant 2011 international D) | 2025-12-24 | 2025-12-24 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2025-12-26 |
Last
| obsTime | Nobs |
|---|---|
| 2019-Q4 | 3645 |
INDICATOR
Code
DP_LIVE %>%
left_join(DP_LIVE_var$INDICATOR, by = "INDICATOR") %>%
group_by(INDICATOR, Indicator) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()SUBJECT
Code
DP_LIVE %>%
left_join(DP_LIVE_var$SUBJECT, by = "SUBJECT") %>%
group_by(SUBJECT, Subject) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()INDICATOR, SUBJECT
Code
DP_LIVE %>%
left_join(DP_LIVE_var$INDICATOR, by = "INDICATOR") %>%
left_join(DP_LIVE_var$SUBJECT, by = "SUBJECT") %>%
group_by(INDICATOR, Indicator, SUBJECT, Subject) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()MEASURE
Code
DP_LIVE %>%
left_join(DP_LIVE_var$MEASURE, by = "MEASURE") %>%
group_by(MEASURE, Measure) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()LOCATION
Code
DP_LIVE %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}FREQUENCY
Code
DP_LIVE %>%
left_join(DP_LIVE_var$FREQUENCY, by = "FREQUENCY") %>%
group_by(FREQUENCY, Frequency) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| FREQUENCY | Frequency | Nobs |
|---|---|---|
| A | Annual | 1230866 |
| M | Monthly | 694441 |
| Q | Quarterly | 476659 |
INDICATOR, SUBJECT, FREQUENCY
Code
DP_LIVE %>%
left_join(DP_LIVE_var$INDICATOR, by = "INDICATOR") %>%
left_join(DP_LIVE_var$SUBJECT, by = "SUBJECT") %>%
group_by(INDICATOR, Indicator, SUBJECT, Subject, FREQUENCY) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()obsTime
Code
DP_LIVE %>%
group_by(obsTime) %>%
summarise(Nobs = n()) %>%
arrange(desc(obsTime)) %>%
print_table_conditional()Saving Rate - SAVING
Saving is equal to the difference between disposable income (including an adjustment for the change in employment-related pension entitlements) and final consumption expenditure. It reflects the part of disposable income that, together with the incurrence of liabilities, is available to acquire financial and non-financial assets. The saving rate presented here corresponds to net saving, which is saving net of depreciation, as percentage of gross domestic product (GDP). All OECD countries compile their data according to the 2008 System of National Accounts (SNA).
United States, France
Code
DP_LIVE %>%
filter(INDICATOR == "SAVING",
LOCATION %in% c("FRA", "USA"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Saving Rate (% of GDP)") +
add_2flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(-100, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
United States, France, Germany, Italy
Code
DP_LIVE %>%
filter(INDICATOR == "SAVING",
LOCATION %in% c("FRA", "USA", "DEU", "ITA"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Saving Rate (% of GDP)") +
add_4flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(-100, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Money
Narrow Money - M1
Table
Code
DP_LIVE %>%
filter(INDICATOR == "M1",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(LOCATION, Location) %>%
summarise(Nobs = n(),
obsValue = last(obsValue)) %>%
arrange(-obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}Japan, United Kingdom, USA
Code
DP_LIVE %>%
filter(LOCATION %in% c("JPN", "GBR", "USA"),
INDICATOR == "M1",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Narrow Money - M1") +
scale_x_date(breaks = seq(1940, 2030, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 2, 3, 5, 10, 20, 50, 80, 100, 200, 300, 500, 800))
Euro area, U.S.
Code
DP_LIVE %>%
filter(LOCATION %in% c("EA19", "USA", "JPN"),
INDICATOR == "M1",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Narrow Money - M1") +
scale_x_date(breaks = seq(1940, 2030, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 2, 3, 5, 10, 20, 50, 80, 100, 200, 300, 500, 800))
Broad Money - M3
Table
Code
DP_LIVE %>%
filter(INDICATOR == "M3",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(LOCATION, Location) %>%
summarise(Nobs = n(),
obsValue = last(obsValue)) %>%
arrange(-obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}Japan, United Kingdom, USA
Code
DP_LIVE %>%
filter(LOCATION %in% c("JPN", "GBR", "USA"),
INDICATOR == "M3",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Broad Money - M3") +
scale_x_date(breaks = seq(1940, 2030, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 2, 3, 5, 10, 20, 50, 80, 100, 200, 300, 500, 800))
Euro area, U.S.
Code
DP_LIVE %>%
filter(LOCATION %in% c("EA19", "USA", "JPN"),
INDICATOR == "M3",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Broad Money - M3") +
scale_x_date(breaks = seq(1940, 2030, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 2, 3, 5, 10, 20, 50, 80, 100, 200, 300, 500, 800))
Gross domestic spending on R&D - GDEXPRD
Table
Code
DP_LIVE %>%
filter(INDICATOR == "GDEXPRD",
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime),
obsValue = last(obsValue)) %>%
arrange(-obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}Korea, Israel, Sweden, Japan, Taiwan
Code
DP_LIVE %>%
filter(INDICATOR == "GDEXPRD",
LOCATION %in% c("KOR", "ISR", "SWE", "JPN", "TWN"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(Location = ifelse(LOCATION == "TWN", "Taiwan", Location)) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(Location = ifelse(LOCATION == "TWN", "Taiwan", Location)) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Gross domestic spending on R&D") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, .2),
labels = percent_format(accuracy = .1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
United States, France, Germany, Italy, Japan
Code
DP_LIVE %>%
filter(INDICATOR == "GDEXPRD",
LOCATION %in% c("USA", "FRA", "DEU", "ITA", "JPN"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Gross domestic spending on R&D") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, .2),
labels = percent_format(accuracy = .1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Spain, Portugal
Code
DP_LIVE %>%
filter(INDICATOR == "GDEXPRD",
LOCATION %in% c("ESP", "PRT"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Gross domestic spending on R&D") +
add_2flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, .2),
labels = percent_format(accuracy = .1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
OILPROD - Crude oil production
Info
Crude oil production in DP_LIVE is expressed as KTOE - thousands of ton of oil equivalent. (toe)
95 Millions of barrels / day = 34.7 Bn of barrels / year
1 barrel of oil equivalent (boe) = 0.14 ton of oil equivalent (toe).
1 ton of oil equivalent = 1/0.14 = 7.14 barrels of oil equivalent.
Table
Code
DP_LIVE %>%
filter(INDICATOR == "OILPROD") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
select_if(~ n_distinct(.) > 1) %>%
filter(!is.na(obsValue)) %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime),
obsValue = last(obsValue)) %>%
mutate(obsValue = obsValue/10^6/0.14) %>%
arrange(-obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}Table - World
Code
OILPRODWLD <- DP_LIVE %>%
filter(INDICATOR == "OILPROD",
LOCATION == "WLD") %>%
select_if(~n_distinct(.) > 1) %>%
filter(!is.na(obsValue)) %>%
year_to_date %>%
transmute(date, variable = "OILPRODWLD", value = obsValue)
save(OILPRODWLD, file = "DP_LIVE_OILPRODWLD.RData")World, Saudi Arabia, Russia
Code
DP_LIVE %>%
filter(INDICATOR == "OILPROD",
LOCATION %in% c("WLD", "RUS", "SAU")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
left_join(DP_LIVE_var$INDICATOR, by = "INDICATOR") %>%
filter(!is.na(obsValue)) %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/10^6/0.14) %>%
# 0.14 =
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Billions of Barrels of Oil") +
add_3flags + scale_color_identity() +
scale_y_log10(breaks = c(1, 2, 3, 4, 5, 8, 10, 15, 20, 30),
labels = dollar_format(a = 1, pre = "", su = " Bn")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
USA, Iraq, Iran
Code
DP_LIVE %>%
filter(INDICATOR == "OILPROD",
LOCATION %in% c("USA", "IRQ", "IRN")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
left_join(DP_LIVE_var$INDICATOR, by = "INDICATOR") %>%
filter(!is.na(obsValue)) %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/10^6/0.14) %>%
# 0.14 =
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("Billions of Barrels of Oil") +
add_3flags + scale_color_identity() +
scale_y_log10(breaks = c(0.1, 0.2 ,0.5, 0.8, 1, 2, 3, 4, 5, 8, 10, 15, 20, 30),
labels = dollar_format(a = .1, pre = "", su = " Bn")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
GGEXP - General government spending
Table
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime),
obsValue = last(obsValue)) %>%
arrange(-obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}United States, Europe
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("FRA", "USA"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_2flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Spain, Italy, France, Germany, Portugal
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("ESP", "ITA", "FRA", "DEU", "PRT", "USA"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending (% of GDP)") +
add_6flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
France, Finland, Belgium, Norway, Denmark
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("FRA", "FIN", "BEL", "NOR", "DNK"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Sweden, Italy, Austria, Luxembourg, Greece
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("SWE", "ITA", "AUT", "LUX", "GRC"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Hungary, Germany, Australia, Iceland, Slovenia
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("HUN", "DEU", "AUS", "ISL", "SVN"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Slovak Republic, Portugal, Spain, Netherlands, Poland
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("SVK", "PRT", "ESP", "NLD", "POL"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Czech Republic, United Kingdom, Israel, Estonia, Japan
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("CZE", "GBR", "ISR", "EST", "JPN"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Latvia, United States, Lithuania, Switzerland, Costa Rica
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("LVA", "USA", "LTU", "CHE", "CRI"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_5flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
Colombia, Korea, Chile, Ireland
Code
DP_LIVE %>%
filter(INDICATOR == "GGEXP",
LOCATION %in% c("COL", "KOR", "CHL", "IRL"),
SUBJECT == "TOT",
MEASURE == "PC_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("General government spending") +
add_4flags + scale_color_identity() +
scale_y_continuous(breaks = 0.01*seq(0, 260, 2),
labels = percent_format(accuracy = 1, p = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2100, 5), "-01-01")),
labels = date_format("%Y"))
PASSCAR - Passenger car registrations
Table
Code
DP_LIVE %>%
filter(INDICATOR == "PASSCAR") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location, FREQUENCY) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}HHDEBT - Household Debt
Table
Code
DP_LIVE %>%
filter(INDICATOR == "HHDEBT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime)) %>%
arrange(as.numeric(date_min), -as.numeric(date_max)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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, Germany, Japan
Code
DP_LIVE %>%
filter(LOCATION %in% c("FRA", "DEU", "JPN"),
INDICATOR == "HHDEBT") %>%
year_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue / 100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Household Debt (% of net disposable income)") +
scale_x_date(breaks = seq(1940, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 200, 5),
labels = percent_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.90),
legend.title = element_blank())
Canada, Denmark, Finland
Code
DP_LIVE %>%
filter(LOCATION %in% c("CAN", "DNK", "FIN"),
INDICATOR == "HHDEBT") %>%
year_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue / 100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Household Debt (% of net disposable income)") +
scale_x_date(breaks = seq(1940, 2020, 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, prefix = "")) +
theme(legend.position = c(0.2, 0.90),
legend.title = element_blank())
Japan, United Kingdom, United States
Code
DP_LIVE %>%
filter(LOCATION %in% c("JPN", "GBR", "USA"),
INDICATOR == "HHDEBT") %>%
year_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue / 100) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Household Debt (% of net disposable income)") +
scale_x_date(breaks = seq(1940, 2020, 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, prefix = "")) +
theme(legend.position = c(0.2, 0.90),
legend.title = element_blank())
GDPHRWKD - GDP Per hour worked
- USD (constant prices 2010 and PPPs)
Table
Code
DP_LIVE %>%
filter(INDICATOR == "GDPHRWKD") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location, MEASURE) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}5 countries, IDX2010
Code
DP_LIVE %>%
filter(INDICATOR == "GDPHRWKD",
LOCATION %in% c("GBR", "USA", "FRA", "JPN", "ITA"),
MEASURE == "IDX2010") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Average Wages") +
geom_line(aes(x = date, y = obsValue, color = color, linetype = Location)) +
#scale_linetype_manual(values = c("dotted", "solid", "longdash","solid", "solid")) +
add_5flags + scale_color_identity() +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 260, 5),
labels = scales::dollar_format(accuracy = 1, p = "", su = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
U.S. Dollars
UK, US, France, Japan, Italy
Code
DP_LIVE %>%
filter(INDICATOR == "GDPHRWKD",
LOCATION %in% c("GBR", "USA", "FRA", "JPN", "ITA"),
MEASURE == "USD") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(color = ifelse(LOCATION == "FRA", color2, color)) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Average Wages") +
geom_line(aes(x = date, y = obsValue, color = color, linetype = Location)) +
#scale_linetype_manual(values = c("dotted", "solid", "longdash","solid", "solid")) +
add_5flags + scale_color_identity() +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 260, 5),
labels = scales::dollar_format(accuracy = 1, p = "$", su = "")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
Greece, UK
Code
DP_LIVE %>%
filter(INDICATOR == "GDPHRWKD",
LOCATION %in% c("GRC", "GBR"),
MEASURE == "USD") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
year_to_date() %>%
filter(date >= as.Date("1990-01-01")) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("GDP Per Hour Worked (Source: OECD)") +
add_2flags +
geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#0D5EAF", "#CF142B")) +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 260, 5),
labels = scales::dollar_format(accuracy = 1, p = "$")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
Greece, UK, Italy
Code
DP_LIVE %>%
filter(INDICATOR == "GDPHRWKD",
LOCATION %in% c("GRC", "GBR", "ITA"),
MEASURE == "USD") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) %>%
year_to_date() %>%
filter(date >= as.Date("1990-01-01")) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("GDP Per Hour Worked (Source: OECD)") +
add_3flags +
geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#0D5EAF", "#009246", "#CF142B")) +
scale_linetype_manual(values = c("solid", "solid", "longdash","solid", "solid")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank()) +
scale_y_log10(breaks = seq(0, 260, 5),
labels = scales::dollar_format(accuracy = 1, p = "$")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
AVWAGE - General government debt
Table
Code
DP_LIVE %>%
filter(INDICATOR == "AVWAGE") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}5 countries
Code
DP_LIVE %>%
filter(INDICATOR == "AVWAGE",
LOCATION %in% c("GBR", "USA", "FRA", "JPN", "ITA")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Average Wages") +
geom_line(aes(x = date, y = obsValue / 1000, color = Location, linetype = Location)) +
scale_color_manual(values = c("#000000", "#009246", "#BC002D", "#6E82B5", "#B22234")) +
scale_linetype_manual(values = c("solid", "solid", "longdash","solid", "solid")) +
geom_image(data = . %>%
filter(date == as.Date("1990-01-01")) %>%
mutate(date = as.Date("1990-01-01"),
image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue/1000, image = image), asp = 1.5) +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 260, 5),
labels = scales::dollar_format(accuracy = 1, p = "$", su = "k")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
GGDEBT - General government debt
Table
Code
DP_LIVE %>%
filter(INDICATOR == "GGDEBT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION, Location) %>%
arrange(obsTime) %>%
summarise(date_min = min(obsTime),
date_max = max(obsTime)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}5 countries
Code
DP_LIVE %>%
filter(INDICATOR == "GGDEBT",
LOCATION %in% c("GBR", "USA", "FRA", "JPN", "ITA")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Government Debt (% of GDP)") +
geom_line(aes(x = date, y = obsValue / 100, color = Location, linetype = Location)) +
scale_color_manual(values = c("#000000", "#009246", "#BC002D", "#6E82B5", "#B22234")) +
scale_linetype_manual(values = c("solid", "solid", "longdash","solid", "solid")) +
geom_image(data = . %>%
filter(date == as.Date("1997-01-01")) %>%
mutate(date = as.Date("1997-01-01"),
image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue/100, image = image), asp = 1.5) +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 260, 20),
labels = scales::percent_format(accuracy = 1)) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
5 countries
Code
DP_LIVE %>%
filter(INDICATOR == "GGDEBT",
LOCATION %in% c("GBR", "USA", "DEU", "JPN", "ITA", "FRA")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
left_join(colors, by = c("Location" = "country")) %>%
mutate(obsValue = obsValue/100) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Dette publique (années de PIB)") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_6flags +
scale_linetype_manual(values = c("solid", "solid", "longdash","solid", "solid")) +
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 = " années")) +
scale_x_date(breaks = as.Date(paste0(seq(1700, 2020, 5), "-01-01")),
labels = date_format("%Y"))
Labour force participation rate
Table, 2019
Code
DP_LIVE %>%
filter(obsTime == "2019",
INDICATOR == "LFPR") %>%
select(LOCATION, SUBJECT, obsValue) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
mutate(obsValue = round(obsValue, 1)) %>%
spread(SUBJECT, obsValue) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}Netherlands, Germany, Japan
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "JPN", "NLD"),
INDICATOR == "LFPR",
SUBJECT == "15_64") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
ggplot() + geom_line(aes(x = date, y = obsValue/100, color = Location)) +
scale_color_manual(values = c("#000000", "#BC002D", "#21468B")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Labour force participation rate") + xlab("")
Employment Rates
Netherlands, Germany, Japan
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "JPN", "NLD"),
INDICATOR == "EMP",
SUBJECT == "TOT",
MEASURE == "PC_WKGPOP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#000000", "#BC002D", "#21468B")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Employment rates") + xlab("")
France, Italy, Spain
Code
DP_LIVE %>%
filter(LOCATION %in% c("FRA", "ITA", "ESP"),
INDICATOR == "EMP",
SUBJECT == "TOT",
MEASURE == "PC_WKGPOP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#002395", "#009246", "#C60B1E")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Part-time employment rate") + xlab("")
Gross Pension Replacement Rates
Men
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA", "SWE"),
INDICATOR == "GPENSION",
SUBJECT == "MEN") %>%
left_join(DP_LIVE_var$LOCATION %>%
setNames(c("LOCATION", "Location")), by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#ED2939", "#000000", "#006AA7")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.3),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Gross Pension Replacement Rate") + xlab("")
Women
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA", "SWE"),
INDICATOR == "GPENSION",
SUBJECT == "WOMEN") %>%
left_join(DP_LIVE_var$LOCATION %>%
setNames(c("LOCATION", "Location")), by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#ED2939", "#000000", "#006AA7")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.3),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Gross Pension Replacement Rate") + xlab("")
INPROD
Just Manufacturing
Japan, United Kingdom, USA
Code
DP_LIVE %>%
filter(LOCATION %in% c("JPN", "GBR", "USA"),
INDICATOR == "INDPROD",
SUBJECT == "MFG",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Industrial Production") +
scale_x_date(breaks = seq(1940, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 400, 10))
Spain, Italy, France, Germany
All
Code
DP_LIVE %>%
filter(LOCATION %in% c("ESP", "ITA", "FRA", "DEU"),
INDICATOR == "INDPROD",
SUBJECT == "MFG",
FREQUENCY == "M") %>%
month_to_date %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Industrial Production") +
scale_x_date(breaks = seq(1940, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 400, 10))
1990-
Code
DP_LIVE %>%
filter(LOCATION %in% c("ESP", "ITA", "FRA", "DEU"),
INDICATOR == "INDPROD",
SUBJECT == "MFG",
FREQUENCY == "M") %>%
month_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
group_by(LOCATION) %>%
arrange(date) %>%
mutate(obsValue = 100*obsValue/obsValue[1]) %>%
left_join(colors, by = c("Location" = "country")) %>%
ggplot(.) + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Industrial Production") +
scale_x_date(breaks = seq(1940, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 400, 10))
Germany
All
Code
DP_LIVE %>%
filter(INDICATOR == "INDPROD",
LOCATION == "DEU",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$SUBJECT, by = "SUBJECT") %>%
month_to_date %>%
ggplot + geom_line(aes(x = date, y = obsValue, color = Subject))+
theme_minimal() + xlab("") + ylab("Industrial Production, Index") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_manual(values = viridis(5)[1:4]) +
theme(legend.position = c(0.8, 0.20),
legend.title = element_blank())
1990-
Code
DP_LIVE %>%
filter(INDICATOR == "INDPROD",
LOCATION == "DEU",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$SUBJECT, by = "SUBJECT") %>%
month_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
ggplot + geom_line(aes(x = date, y = obsValue, color = Subject))+
theme_minimal() + xlab("") + ylab("Industrial Production, Index") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.8, 0.20),
legend.title = element_blank())
France
All
Code
DP_LIVE %>%
filter(INDICATOR == "INDPROD",
LOCATION == "FRA",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$SUBJECT %>%
setNames(c("SUBJECT", "Subject")), by = "SUBJECT") %>%
month_to_date %>%
ggplot + geom_line(aes(x = date, y = obsValue, color = Subject))+
theme_minimal() + xlab("") + ylab("Industrial Production, Index") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.8, 0.20),
legend.title = element_blank())
1990-
Code
DP_LIVE %>%
filter(INDICATOR == "INDPROD",
LOCATION == "FRA",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$SUBJECT %>%
setNames(c("SUBJECT", "Subject")), by = "SUBJECT") %>%
month_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
ggplot + geom_line(aes(x = date, y = obsValue, color = Subject))+
theme_minimal() + xlab("") + ylab("Industrial Production, Index") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_manual(values = viridis(4)[1:3]) +
theme(legend.position = c(0.8, 0.20),
legend.title = element_blank())
U.S.
Code
DP_LIVE %>%
filter(INDICATOR == "INDPROD",
LOCATION == "USA",
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$SUBJECT %>%
setNames(c("SUBJECT", "Subject")), by = "SUBJECT") %>%
month_to_date %>%
ggplot + geom_line(aes(x = date, y = obsValue, color = Subject))+
theme_minimal() + xlab("") + ylab("Industrial Production, Index") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_manual(values = viridis(5)[1:4]) +
theme(legend.position = c(0.8, 0.20),
legend.title = element_blank())
LT interest rates
All
Code
DP_LIVE %>%
filter(INDICATOR == "LTINT",
LOCATION %in% c("USA", "FRA", "DEU"),
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$LOCATION %>%
setNames(c("LOCATION", "Location")), by = "LOCATION") %>%
month_to_date %>%
ggplot + geom_line(aes(x = date, y = obsValue/100, color = Location)) +
geom_image(data = . %>%
filter(date == as.Date("1982-01-01")) %>%
mutate(date = as.Date("1982-01-01"),
image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue/100, image = image), asp = 1.5) +
theme_minimal() + xlab("") + ylab("Long-term interest rates") +
scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-2, 30, 1),
labels = percent_format(accuracy = 1)) +
scale_color_manual(values = c("#002395", "#000000", "#B22234")) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
2000-
Code
DP_LIVE %>%
filter(INDICATOR == "LTINT",
LOCATION %in% c("USA", "FRA", "DEU"),
FREQUENCY == "M") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
month_to_date %>%
filter(date >= as.Date("2000-01-01")) %>%
ggplot + geom_line(aes(x = date, y = obsValue/100, color = Location))+
geom_image(data = . %>%
filter(date == as.Date("2018-07-01")) %>%
mutate(date = as.Date("2018-07-01"),
image = paste0("../../icon/flag/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue/100, image = image), asp = 1.5) +
theme_minimal() + xlab("") + ylab("Long-term interest rates") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-2, 30, 1),
labels = percent_format(accuracy = 1)) +
scale_color_manual(values = c("#002395", "#000000", "#B22234")) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
Part Time Employment Rate
Table
Code
DP_LIVE %>%
filter(INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
group_by(LOCATION) %>%
summarise(Nobs = n())# # A tibble: 52 × 2
# LOCATION Nobs
# <chr> <int>
# 1 AUS 24
# 2 AUT 30
# 3 BEL 42
# 4 BGR 25
# 5 BRA 23
# 6 CAN 49
# 7 CHE 29
# 8 CHL 29
# 9 COL 23
# 10 CRI 15
# # ℹ 42 more rows
Netherlands, Germany, Japan
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "JPN", "NLD"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#000000", "#BC002D", "#21468B")) + add_3flags +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Part-time employment rate") + xlab("")
Netherlands, France, Germany, Japan
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA", "JPN", "NLD"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
add_4flags +
scale_color_manual(values = c("#002395", "#000000", "#BC002D", "#21468B")) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Part-time employment rate") + xlab("")
Germany, France
English
All
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#002395", "#000000")) +
geom_image(data = . %>%
filter(date == as.Date("2006-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue, image = image), asp = 1.5) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Part-time employment rate") + xlab("")
1995-
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#002395", "#000000")) +
geom_image(data = . %>%
filter(date == as.Date("2006-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue, image = image), asp = 1.5) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.8),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1)) +
ylab("Taux d'emploi à temps partiel (%)") + xlab("")
French
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#002395", "#000000")) +
geom_image(data = . %>%
filter(date == as.Date("2006-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue, image = image), asp = 1.5) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1),
limits = c(0, 0.24)) +
ylab("Taux d'emploi à temps partiel") + xlab("")
French
Code
DP_LIVE %>%
filter(LOCATION %in% c("DEU", "FRA"),
INDICATOR == "PARTEMP",
SUBJECT == "TOT") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
year_to_date() %>%
mutate(obsValue = obsValue/100) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
scale_color_manual(values = c("#002395", "#000000")) +
geom_image(data = . %>%
filter(date == as.Date("2006-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue, image = image), asp = 1.5) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_continuous(breaks = 0.01*seq(-6, 90, 2),
labels = percent_format(accuracy = 1),
limits = c(0, 0.24)) +
ylab("Taux d'emploi à temps partiel") + xlab("")
Tourism GDP
Code
DP_LIVE %>%
filter(INDICATOR == "TOUR_GDP") %>%
left_join(DP_LIVE_var$LOCATION, by = "LOCATION") %>%
arrange(LOCATION, obsTime) %>%
group_by(LOCATION, Location) %>%
summarise(year = last(obsTime),
`Tourism (% of GDP)` = round(last(obsValue), 1)) %>%
arrange(-`Tourism (% of GDP)`) %>%
mutate(`Tourism (% of GDP)` = paste0(`Tourism (% of GDP)`, "%")) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
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 .}

Social Spending - SOCEXP, PENSIONEXP
Table
Code