Population and employment

Data - Eurostat

Info

source dataset .html .RData
eurostat nama_10_pe 2024-11-05 2024-10-08
eurostat namq_10_pe 2024-11-01 2024-10-09

LAST_COMPILE

LAST_COMPILE
2024-11-05

Last

Code
namq_10_pe %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2024Q2 1221

na_item

Code
namq_10_pe %>%
  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
EMP_DC Total employment domestic concept 25809
SAL_DC Employees domestic concept 24690
SELF_DC Self-employed domestic concept 24690
POP_NC Total population national concept 23042
EMP_NC Total employment national concept 21644
SAL_NC Employees national concept 20874
SELF_NC Self-employed national concept 20874

s_adj

Code
namq_10_pe %>%
  left_join(s_adj, by = "s_adj") %>%
  group_by(s_adj, S_adj) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
s_adj S_adj Nobs
SCA Seasonally and calendar adjusted data 72232
NSA Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) 60292
SA Seasonally adjusted data, not calendar adjusted data 23203
CA Calendar adjusted data, not seasonally adjusted data 5896

freq

Code
namq_10_pe %>%
  left_join(freq, by = "freq") %>%
  group_by(freq, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
freq Freq Nobs
Q Quarterly 161623

unit

Code
namq_10_pe %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
unit Unit Nobs
THS_PER Thousand persons 65911
PCH_SM_PER Percentage change compared to same period in previous year (based on persons) 63723
PCH_PRE_PER Percentage change on previous period (based on persons) 31989

geo

Code
namq_10_pe %>%
  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
namq_10_pe %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Population Table

Code
namq_10_pe %>%
  filter(time %in% c("2019Q1", "2009Q1", "1999Q1", "1989Q1"),
         na_item == "POP_NC",
         s_adj %in% c("SCA", "SA"),
         unit == "THS_PER") %>%
  select(geo, s_adj, time, values) %>%
  mutate(values = round(values/1000, 1)) %>%
  left_join(geo, by = "geo") %>%
  spread(time, values) %>%
  arrange(- `2009Q1`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Employment Table

Code
namq_10_pe %>%
  filter(time %in% c("2019Q1", "2009Q1", "1999Q1", "1989Q1"),
         na_item == "EMP_DC",
         s_adj %in% c("SCA", "SA"),
         unit == "THS_PER") %>%
  select(geo, s_adj, time, values) %>%
  mutate(values = round(values/1000, 1)) %>%
  left_join(geo, by = "geo") %>%
  spread(time, values) %>%
  arrange(- `2019Q1`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Eurozone

Last observation

Code
namq_10_pe %>%
  filter(time == max(time),
         na_item == "POP_NC") %>%
  spread(unit, values) %>%
  select_if(~ n_distinct(.) > 1) %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, everything()) %>%
  print_table_conditional

Previous observation

Code
namq_10_pe %>%
  filter(time %in% c("2023Q4", "2023Q3"),
         na_item == "POP_NC",
         geo == "EA20") %>%
  spread(time, values) %>%
  select_if(~ n_distinct(.) > 1) %>%
  print_table_conditional
unit 2023Q3 2023Q4
PCH_SM_PER 0.5 0.5
THS_PER 350371.4 350876.6

France Evolution

1999 -

NSA

Code
namq_10_pe %>%
  filter(geo == "FR",
         unit == "THS_PER",
         s_adj == "NSA") %>%
  left_join(na_item, by = "na_item") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1999-01-01")) %>%
  group_by(na_item) %>%
  mutate(values = 100*values/values[1]) %>%
  select_if(~ n_distinct(.) > 1) %>%
  ggplot() + ylab("Indice des prix, Ensemble") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Na_item)) +
  theme_minimal() +
  scale_x_date(breaks = seq(1999, 2024, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.8),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% group_by(Na_item) %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = Na_item))

SA

Code
namq_10_pe %>%
  filter(geo == "FR",
         unit == "THS_PER",
         s_adj == "SA") %>%
  left_join(na_item, by = "na_item") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1999-01-01")) %>%
  group_by(na_item) %>%
  mutate(values = 100*values/values[1]) %>%
  select_if(~ n_distinct(.) > 1) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Na_item)) +
  theme_minimal() +
  scale_x_date(breaks = seq(1999, 2024, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.7),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% group_by(Na_item) %>% filter(date == max(date)), aes(x = date, y = values, label = round(values, 1), color = Na_item))