| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | nama_10_pc | Main GDP aggregates per capita - nama_10_pc | 2025-12-25 | 2025-12-27 |
Main GDP aggregates per capita - nama_10_pc
Data - Eurostat
Info
na_item
Code
nama_10_pc %>%
left_join(na_item, by = "na_item") %>%
group_by(na_item, Na_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) print_table(.) else .}| na_item | Na_item | Nobs |
|---|---|---|
| B1GQ | Gross domestic product at market prices | 15056 |
| P3 | Final consumption expenditure | 15023 |
| P31_S14 | Final consumption expenditure of households | 15023 |
| P31_S14_S15 | Household and NPISH final consumption expenditure | 15023 |
| P31_S15 | Final consumption expenditure of NPISH | 15023 |
| P3_S13 | Final consumption expenditure of general government | 15023 |
| P31_S13 | Individual consumption expenditure of general government | 14690 |
| P32_S13 | Collective consumption expenditure of general government | 14690 |
| P41 | Actual individual consumption | 14690 |
unit
Code
nama_10_pc %>%
left_join(unit, by = "unit") %>%
group_by(unit, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}geo
Code
nama_10_pc %>%
left_join(geo, by = "geo") %>%
group_by(geo, Geo) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}time
Code
nama_10_pc %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}GDP Per capita: Italy vs. France
In Euros
Code
nama_10_pc %>%
filter(unit == "CP_EUR_HAB",
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Euros and Volume 10
Code
nama_10_pc %>%
filter(unit %in% c("CLV10_EUR_HAB", "CP_EUR_HAB"),
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo, linetype = unit)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Euros and Volume 20
Code
nama_10_pc %>%
filter(unit %in% c("CLV20_EUR_HAB", "CP_EUR_HAB"),
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo, linetype = unit)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Euros and PPS
All
Code
nama_10_pc %>%
filter(unit %in% c("CP_PPS_EU27_2020_HAB", "CP_EUR_HAB"),
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo, linetype = unit)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
2017-
Code
nama_10_pc %>%
filter(unit %in% c("CP_PPS_EU27_2020_HAB", "CP_EUR_HAB"),
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("2017-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo, linetype = unit)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Base 2010
Code
nama_10_pc %>%
filter(unit == "CLV10_EUR_HAB",
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Base 2015
Code
nama_10_pc %>%
filter(unit == "CLV15_EUR_HAB",
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
In Base 2020
Code
nama_10_pc %>%
filter(unit == "CLV20_EUR_HAB",
na_item == "B1GQ",
geo %in% c("FR", "IT", "DE")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
year_to_date() %>%
filter(date >= as.Date("1995-01-01")) %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1995, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10()
Range
Not Luxembourg
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ") %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo))
Not Luxembourg
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
!(geo %in% c("LU", "EA19"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
ggplot + geom_line(aes(x = date, y = values, color = geo)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = geo, label = geo))
Main EU
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
(geo %in% c("PL", "EU27_2020", "FR", "HU", "DE", "EL", "IT"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color)) +
xlab("") + ylab("") + add_7flags +
scale_x_date(breaks = seq(1940, 2050, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 200, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
Greece
Code
list_geos_EL <- nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
time == 1995) %>%
filter(values < values[geo == "EL"]) %>%
pull(geo)
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
(geo %in% c("EL", "EU27_2020", list_geos_EL))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
filter(geo != "EU27_2020") %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color)) +
geom_line(data = . %>% filter(geo == "EL"), aes(x = date, y = values, color = color), size = 1.5) +
xlab("") + ylab("PPP GDP per capita vs. EU27_2020") + add_8flags +
scale_x_date(breaks = seq(1995, 2050, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 200, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
Greece
Linear
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
!(geo %in% c("EA12", "EA19", "EA20","EA", "LU", "NO", "CH", "IE"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
filter(geo != "EU27_2020") %>%
mutate(color = ifelse(!(geo %in% c("EL", "FR", "IT", "PL")), "gray", color)) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color, group = geo)) +
geom_line(data = . %>% filter(geo == "EL"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "FR"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "IT"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "PL"), aes(x = date, y = values, color = color), size = 1.5) +
xlab("") + ylab("PPP GDP per capita vs. EU27_2020") + add_8flags +
scale_x_date(breaks = seq(1995, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(10, 400, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
Log
Code
list_geos_EL <- nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
time == 1995) %>%
filter(values < values[geo == "EL"]) %>%
pull(geo)
list_geos_EL <- c(list_geos_EL, "FR", "DE")
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
!(geo %in% c("EA12", "EA19", "EA20","EA"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
filter(geo != "EU27_2020") %>%
mutate(color = ifelse(geo != "EL", "gray", color)) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color, group = geo)) +
geom_line(data = . %>% filter(geo == "EL"), aes(x = date, y = values, color = color), size = 1.5) +
xlab("") + ylab("PPP GDP per capita vs. EU27_2020") + add_8flags +
scale_x_date(breaks = seq(1995, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 400, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
With Spain
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
(geo %in% c("PL", "EU27_2020", "FR", "HU", "DE", "EL", "IT", "ES", "NL"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color)) +
xlab("") + ylab("") + add_7flags +
scale_x_date(breaks = seq(1940, 2050, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 200, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date == max(date)),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
France
Linear
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
!(geo %in% c("EA12", "EA19", "EA20","EA", "LU", "NO", "CH", "IE"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(color = ifelse(geo == "FR", color2, color)) %>%
filter(geo != "EU27_2020") %>%
mutate(color = ifelse(!(geo %in% c("DE", "FR", "IT", "PL")), "gray", color)) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color, group = geo)) +
geom_line(data = . %>% filter(geo == "DE"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "FR"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "IT"), aes(x = date, y = values, color = color), size = 1.5) +
geom_line(data = . %>% filter(geo == "PL"), aes(x = date, y = values, color = color), size = 1.5) +
xlab("") + ylab("PPP GDP per capita vs. EU27_2020") + add_8flags +
scale_x_date(breaks = seq(1995, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(10, 400, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()
Log
Code
nama_10_pc %>%
filter(unit == "CP_PPS_EU27_2020_HAB",
na_item == "B1GQ",
!(geo %in% c("EA12", "EA19", "EA20","EA"))) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(time) %>%
mutate(values = 100*values/values[geo == "EU27_2020"]) %>%
year_to_date() %>%
left_join(geo, by = "geo") %>%
mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
filter(geo != "EU27_2020") %>%
mutate(color = ifelse(geo != "FR", "gray", color)) %>%
ggplot(.) + theme_minimal() + scale_color_identity() +
geom_line(aes(x = date, y = values, color = color, group = geo)) +
geom_line(data = . %>% filter(geo == "FR"), aes(x = date, y = values, color = color), size = 1.5) +
xlab("") + ylab("PPP GDP per capita vs. EU27_2020") + add_8flags +
scale_x_date(breaks = seq(1995, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 400, 10)) +
geom_text_repel(data = . %>% group_by(geo) %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = values, color = color, label = Geo)) +
theme_minimal()