Main Economic Indicators - MEI
Data - OECD
Last observation: Q1 2024 (N = 62) · janv. 2024 (N = 1629) · 2023 (N = 11067)
First observation: Q4 1955 (N = 1) · 1960 (N = 2679) · janv. 1960 (N = 1834)
Last data update: 02 août 2026, 09:01
Last compile: 02 sept. 2026, 23:34
Structure
Nobs - Javascript
Code
MEI |>
left_join(MEI_var$SUBJECT, by = c("SUBJECT")) %>%
{if (!is_html_output()) mutate(., Subject = substr(Subject, 1, 87)) else .} |>
group_by(SUBJECT, Subject, MEASURE, FREQUENCY) |>
filter(!is.na(obsValue)) |>
summarise(Nobs = n()) |>
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}Monetary Base
M1
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MANMM101",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
#filter(date >= as.Date("1990-01-01")) %>%
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M1") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MANMM101",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M1") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
M3
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MABMM301",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M3") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MABMM301",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M3") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
M1 and M3
LT Interest Rates
France, Germany, Japan
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2010-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
add_3flags +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = "none") +
geom_hline(yintercept = 0, linetype = "dashed")
2019-2021
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2014-02-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + xlab("") + ylab("Taux Nominal sur la Dette, 10 ans (%)") +
add_3flags +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, .2),
labels = percent_format(accuracy = .1)) +
scale_color_manual(values = c("#002395", "#000000", "#BC002D")) +
theme(legend.position = "none") +
geom_hline(yintercept = 0, linetype = "dashed")
France, United States, Germany, Japan
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
add_4flags +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank()) +
scale_color_identity()
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
2010-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2010-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
geom_image(data = . %>%
filter(date == as.Date("2014-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue / 100, image = image), asp = 1.5) +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = "none") +
scale_color_identity()
Employment Rates
United States
2000-
Code
MEI |>
filter(LOCATION %in% c("USA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2000-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
2007-
Code
MEI |>
filter(LOCATION %in% c("USA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
France
All
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Males
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Male Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Females
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Female Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Females, Males
France
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE",
"LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(Gender = ifelse(grepl("Males", Subject), "Males", "Females")) |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject, linetype = Gender)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Female Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.75),
legend.title = element_blank(),
legend.direction = "horizontal")
Germany
Code
MEI |>
filter(LOCATION %in% c("DEU"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE",
"LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(Gender = ifelse(grepl("Males", Subject), "Males", "Females")) |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject, linetype = Gender)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Male, Female Employment Rates in Germany (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.75),
legend.title = element_blank(),
legend.direction = "horizontal")
LREM24TT - 15-24
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM24TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15-24 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM55TT - 55-64
2000-
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM55TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
#filter(date >= as.Date("2000-01-01")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
2007-
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM55TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM25TT - 25-54
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA"),
SUBJECT == "LREM25TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_5flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM64TT - 15-64
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM64TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREMTTTT - 15+
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA"),
SUBJECT == "LREMTTTT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
add_flag_color("Location") |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_5flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15+ (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
Inflation - CPHPTT01
Table - Countries
Code
MEI |>
filter(SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY") |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION, Location) |>
summarise(Nobs = n()) |>
print_table_conditional()Table - Countries - EA
Code
MEI |>
filter(SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY",
LOCATION %in% c("EA19", "EA20", "EU27_2020", "EU28")) |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
#filter(date >= as.Date("2019-01-01")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 200, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
All items
(ref:CPALTT01) Consumer Price Index, All items
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN", "EA19"),
SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
filter(date >= as.Date("2019-01-01")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 200, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
OECD descriptor ID: CPHPTT01 OECD unit ID: GY OECD country ID: EA17
CA Balance
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "B6BLTT02",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Total CA Balance, % of GDP") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Housing excl imputed rentals for housing
(ref:CPGRHO02) Housing excluding imputed rentals for housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPGRHO02",
MEASURE == "IXOB",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
CPI
All items
(ref:CPALTT01) Consumer Price Index, All items
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPALTT01",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Services less housing
(ref:CPGRLH01) Consumer Price Index, Services less housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPGRLH01",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Services less housing") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Food and non-Alcoholic beverages
(ref:CP010000) CPI, Food and non-Alcoholic beverages
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP010000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Food and non-Alcoholic beverages") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Clothing and Footware
(ref:CP030000) CPI, Clothing and Footware
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP030000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Clothing and Footware") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Restaurants and hotels
(ref:CP110000) CPI, Restaurants and hotels
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP110000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Restaurants and hotels") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Actual rentals for housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP040100",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Actual rentals for housing") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Exchange Rates
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# CCUSMA02: Average of daily rates > National currency:USD
SUBJECT == "CCUSMA02",
# ST: Level, rate or national currency
MEASURE == "ST",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Exchange Rate ($1 = ?National Currency)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10, 0.2),
labels = dollar_format(accuracy = 0.1, prefix = "", suffix = "../$")) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
Passenger cars
Example
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# SLRTCR03: Passenger cars
SUBJECT == "SLRTCR03",
# ML: Monthly level
MEASURE == "ML",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 1000, 50),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "K")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Example
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA","USA"),
# SLRTCR03: Passenger cars
SUBJECT == "SLRTCR03",
# ML: Monthly level
MEASURE == "ML",
FREQUENCY == "A") |>
year_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 1000, 50),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "K")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Current Account Balance
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# B6BLTT01: Balance of payments BPM6 > Current account Balance > Total > Total Balance
SUBJECT == "B6BLTT01",
# CXCUSA: US Dollars, sum over component sub-periods, s.a
MEASURE == "CXCUSA",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
add_flag_color("Location") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() +
theme(legend.title = element_blank(),
legend.position = c(0.2, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-20000, 400000, 10),
labels = dollar_format(accuracy = 1, suffix = " Bn", prefix = "$ ")) +
xlab("") + ylab("Current account Balance, Total")















