Non-financial transactions

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 20,886)

First observation: Annual: 1949 (N = 786)

Last data update: 14 aoû 2026, 00:30. Last compile: 14 aoû 2026, 04:24

Structure

Operating surplus and mixed income, gross

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT"),
         # B2A3G: Operating surplus and mixed income, gross
         na_item == "B2A3G",
         # PAID: Paid
         direct == "PAID",
         # CP_MNAC: Current prices, million units of national currency
         unit == "CP_MNAC",
         # S1: Total economy
         sector == "S1") |>
  year_to_date() |>
  mutate(values = values/1000) |>
  left_join(colors, by = c("geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("") +
  scale_y_log10(breaks = seq(0, 1000, 100),
                labels = dollar_format(suffix = " Bn€", prefix = "", accuracy = 1))

France

Imputed social contributions

All

Code
nasa_10_nf_tr |>
  filter(na_item == "D612",
         geo == "IT") |>
  arrange(-values) |>
  
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values_gdp = values/gdp) %>%
  select_if(~ n_distinct(.) > 1) |>
  print_table_conditional()

2022

Code
nasa_10_nf_tr |>
  filter(na_item == "D612",
         time == "2021",
         sector == "S13",
         direct == "RECV",
         unit == "CP_MEUR") |>
  arrange(-values) |>
  
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values_gdp = values/gdp) %>%
  select_if(~ n_distinct(.) > 1) |>
  print_table_conditional()
geo Geo values gdp values_gdp
FR France 44866 2508102.3 0.0178884
DE Germany 42497 3682340.0 0.0115408
BE Belgium 11000 506047.2 0.0217371
ES Spain 6932 1235474.0 0.0056108
PL Poland 4939 2661518.0 0.0018557
PT Portugal 4863 216493.7 0.0224625
IT Italy 4665 1842507.4 0.0025319
NL Netherlands 4525 891550.0 0.0050754
EL Greece 3856 184574.6 0.0208913
IE Ireland 3697 448469.2 0.0082436
RO Romania 1950 1186015.4 0.0016442
AT Austria 1567 406231.5 0.0038574
LU Luxembourg 891 73039.5 0.0121989
NO Norway 590 4480477.0 0.0001317
CH Switzerland 524 768279.4 0.0006820
CY Cyprus 409 25679.9 0.0159269
DK Denmark 403 2553260.5 0.0001578
SK Slovakia 394 101891.6 0.0038669
LT Lithuania 183 56709.1 0.0032270
SI Slovenia 180 52032.4 0.0034594
LV Latvia 142 32283.8 0.0043985
CZ Czechia 139 6307755.0 0.0000220
MT Malta 104 16680.3 0.0062349
EE Estonia 96 31453.3 0.0030521
HU Hungary 87 55560466.0 0.0000016
FI Finland 0 248764.0 0.0000000
IS Iceland 0 3331536.5 0.0000000
SE Sweden 0 5417760.0 0.0000000

2022

Code
nasa_10_nf_tr |>
  filter(na_item == "D612",
         time == "2022",
         sector == "S13",
         direct == "RECV",
         unit == "CP_MEUR") |>
  arrange(-values) |>
  
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values_gdp = values/gdp) %>%
  select_if(~ n_distinct(.) > 1) |>
  print_table_conditional()
geo Geo values gdp values_gdp
FR France 46474 2653997.2 0.0175109
DE Germany 44093 3989390.0 0.0110526
BE Belgium 12032 561678.2 0.0214215
ES Spain 6848 1375863.0 0.0049772
PL Poland 5366 3100850.0 0.0017305
NL Netherlands 5220 993820.0 0.0052525
PT Portugal 4900 243957.1 0.0200855
IT Italy 4261 1998072.6 0.0021326
IE Ireland 4053 523248.2 0.0077458
EL Greece 3855 207008.7 0.0186224
RO Romania 2146 1384597.8 0.0015499
AT Austria 1526 449382.2 0.0033958
LU Luxembourg 947 76731.2 0.0123418
NO Norway 628 5935035.0 0.0001058
CH Switzerland 609 819703.7 0.0007430
SK Slovakia 401 109959.8 0.0036468
CY Cyprus 398 29645.4 0.0134254
DK Denmark 397 2831269.6 0.0001402
LT Lithuania 215 67081.1 0.0032051
CZ Czechia 196 7049872.0 0.0000278
SI Slovenia 173 56881.6 0.0030414
LV Latvia 167 36088.7 0.0046275
EE Estonia 107 36300.9 0.0029476
HU Hungary 104 65950424.0 0.0000016
MT Malta 103 17985.3 0.0057269
FI Finland 0 266135.0 0.0000000
IS Iceland 0 3946957.2 0.0000000
SE Sweden 0 5816415.0 0.0000000

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "D612",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("1995-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, .2),
                labels = percent_format(a = .1))

France, Germany, Italy, Spain, Europe

B6G_R_HAB

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5))

1999-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 500, 5))

Code
  #geom_label(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

1999- (LAbels)

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 500, 5)) +
  geom_label(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("2000-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(10, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2008-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("2008-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(10, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

B6G

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5))

1999-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("2000-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2008-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("2008-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

B6G/POP

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5))

1999-

B6G/POP - labels

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

B6G/POP

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5))

Code
  #geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

D11/POP

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "D11",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

B7G_R_HAB

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B7G_R_HAB",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(10, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

D41/POP

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "D41",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

D4/POP

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "D4",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("2000-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

2008-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(POP, by = c("geo", "time")) |>
  mutate(values = values/POP) |>
  year_to_date() |>
  filter(date >= as.Date("2008-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

B6N

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6N",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  #filter(date >= as.Date("1995-01-01")) %>%
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

1995-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6N",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

1999-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6N",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  year_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1995, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 500, 5)) +
  geom_label_repel(data = . %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = color))

Saving Rate (B9)

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B9",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 10), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 100, 1),
                labels = percent_format(a = 1))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B9",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 100, 1),
                labels = percent_format(a = 1))

2015-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B9",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Saving Rate (B8G)

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B8G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 10), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B8G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2015-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B8G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Operating surplus and mixed income, gross - B2A3G, S14_S15

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 10), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2015-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S14_S15") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Operating surplus and mixed income, gross - B2A3G, S11

All

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S11") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  na.omit() |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 10), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2000-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S11") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2015-

Code
nasa_10_nf_tr |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2A3G",
         direct == "PAID",
         unit == "CP_MNAC",
         sector == "S11") |>
  select(geo, Geo, time, values, sector) |>
  left_join(gdp, by = c("geo", "time")) |>
  mutate(values = values/gdp) |>
  year_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))