Les indices de salaire de base

Data - DARES

Info

source dataset .html .RData
dares les-indices-de-salaire-de-base 2024-11-04 2024-09-21
dares les-indices-de-salaire-de-base-provisoires 2024-09-08 NA

Données sur les salaires

source dataset .html .RData
dares les-indices-de-salaire-de-base 2024-11-04 2024-09-21
insee CNA-2014-RDB 2024-10-29 2024-11-01
insee CNT-2014-CSI 2024-10-29 2024-11-01
insee ECRT2023 2024-10-29 2023-06-30
insee if230 2024-10-29 2021-12-04
insee INDICE-TRAITEMENT-FP 2024-10-29 2024-11-01
insee ir_salaires_SL_23_csv 2024-10-29 NA
insee ir_salaires_SL_csv 2024-10-29 NA
insee SALAIRES-ACEMO 2024-10-29 2024-10-29
insee SALAIRES-ACEMO-2017 2024-10-29 2024-10-29
insee SALAIRES-ANNUELS 2024-10-29 2024-10-29
insee t_7401 2024-10-18 2024-10-18
insee t_salaire_val 2024-11-03 2024-09-02

LAST_COMPILE

LAST_COMPILE
2024-11-04

Last

Code
`les-indices-de-salaire-de-base` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(3) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2024T2 793
2024T1 793
2023T4 793

sheets

Code
`les-indices-de-salaire-de-base` %>%
  group_by(sheets) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sheets Nobs
Sal. mens. ensemble 3639
Sal. mens. PI 3388
Sal. mens. emp. 3248
Sal. mens. cadres 3164
Sal. mens. ouv. 2940
Sal. horaire ouv. 2912
Sal. horaire ouv. emp. 2912

secteur

Code
`les-indices-de-salaire-de-base` %>%
  group_by(secteur, Secteur) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

TIME_PERIOD

Code
`les-indices-de-salaire-de-base` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2024T2 793
2024T1 793
2023T4 793
2023T3 793
2023T2 793
2023T1 793
2022T4 793
2022T3 793
2022T2 793
2022T1 793
2021T4 793
2021T3 793
2021T2 793
2021T1 793
2020T4 793
2020T3 793
2020T2 793
2019T4 793
2019T3 793
2019T2 793
2019T1 793
2018T4 793
2018T3 793
2018T2 793
2018T1 793
2017T4 793
2017T3 793
2017T2 792

Par secteur

Métallurgie

Tous

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "24") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("Croissance vs. 2017T2") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 2),
                labels = percent(seq(100, 200, 2)/100-1, acc = 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2019T4-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "24") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2019 Q4")) %>%
  group_by(sheets) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2021T3-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "24") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q3")) %>%
  group_by(sheets) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("Metallurgie") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(1, 3)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

Salaires, Ensemble, Ensemble

2017T2-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2017 Q2")) %>%
  mutate(value = 100*value/value[1]) %>%
  ungroup
data1 %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2017-06-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ungroup
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data2 %>%
  bind_rows(data1) %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>%
              filter(date %in% zoo::as.yearqtr(c("2017 Q2", "2020 Q4", "2022 Q4", "2024 Q1"))),
            aes(x = date, y = value, label = round(value, 1)))

2017T2-2024T2

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2017 Q2"),
         date <=  zoo::as.yearqtr("2024 Q2")) %>%
  mutate(value = 100*value/value[1]) %>%
  ungroup
data1 %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2017-06-01"),
         month(date) %in% c(3, 6, 9, 12),
         date <= as.Date("2024-06-01")) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ungroup
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data2 %>%
  bind_rows(data1) %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>%
              filter(date %in% zoo::as.yearqtr(c("2017 Q2", "2020 Q4", "2022 Q4", "2024 Q2"))),
            aes(x = date, y = value, label = round(value, 1)))

2017T4-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2017 Q4")) %>%
  mutate(value = 100*value/value[1]) %>%
  ungroup
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2017-12-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ungroup
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% 
              filter(quarter(as.Date(date)) %in% c(2, 4)),
            aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data2 %>%
  bind_rows(data1) %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2017:2100, c(2, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>%
              filter(date %in% zoo::as.yearqtr(c("2017 Q2", "2020 Q4", "2022 Q4", "2023 Q4"))),
            aes(x = date, y = value, label = round(value, 1)))

2019T4-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2019 Q4")) %>%
  mutate(value = 100*value/value[1])
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")

data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2019-12-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))

data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data2 %>%
  bind_rows(data1) %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(data = . %>% filter(date == max(date)), aes(x = date, y = value, label = round(value, 1)))

2020T4-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2020 Q4")) %>%
  mutate(value = 100*value/value[1])
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2020-12-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data_bind <- data2 %>%
  bind_rows(data1) %>%
  ungroup %>%
  select(date, value, variable) %>%
  arrange(date)

# write_excel_csv(data_bind, file = "alter_eco_20230213.csv")

data_bind %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("Salaire de base") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = seq(min(data_bind$date), max(data_bind$date), by = 0.25)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>%
              filter(date == max(date)),
            aes(x = date, y = value, label = round(value, 1)))

2021T1-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q1")) %>%
  mutate(value = 100*value/value[1])
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2021-03-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data_bind <- data2 %>%
  bind_rows(data1) %>%
  ungroup %>%
  select(date, value, variable) %>%
  arrange(date)

# write_excel_csv(data_bind, file = "alter_eco_20230213.csv")

data_bind %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

2021T2-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q2")) %>%
  mutate(value = 100*value/value[1])
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2021-06-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data_bind <- data2 %>%
  bind_rows(data1) %>%
  ungroup %>%
  select(date, value, variable) %>%
  arrange(date)

write_excel_csv(data_bind, file = "nathalie_silbert_20240923.csv")

data_bind %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

2021T4-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. ensemble") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q4")) %>%
  mutate(value = 100*value/value[1])


data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2021-12-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data_bind <- data2 %>%
  bind_rows(data1) %>%
  ungroup %>%
  select(date, value, variable) %>%
  arrange(date)

# write_excel_csv(data_bind, file = "alter_eco_20230213.csv")

data_bind %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = expand.grid(2021:2100, c(1, 2, 3, 4)) %>%
                         mutate(breaks = zoo::as.yearqtr(paste0(Var1, "Q", Var2))) %>%
                         pull(breaks)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Salaires, Ensemble

Tous

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2019T4-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2019 Q4")) %>%
  group_by(sheets) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2021T3-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q3")) %>%
  group_by(sheets) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2020T4-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2020 Q4")) %>%
  group_by(sheets) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = sheets)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

Salaires des cadres

Tous

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. cadres") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2019T4-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. cadres") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2019 Q4")) %>%
  group_by(Secteur) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2020T4-

Salaires

Code
data1 <- `les-indices-de-salaire-de-base` %>%
  filter(secteur == "ENS",
         sheets == "Sal. mens. cadres") %>%
  select(TIME_PERIOD, value) %>%
  
  mutate(variable = "Salaire mensuel des cadres du secteur privé") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2020 Q4")) %>%
  mutate(value = 100*value/value[1])
data1 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.2, 0.7),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Prix

Code
load_data("insee/IPCH-IPC-2015-ensemble.RData")
data2 <- `IPCH-IPC-2015-ensemble` %>%
  filter(date >= as.Date("2020-12-01"),
         month(date) %in% c(3, 6, 9, 12)) %>%
  group_by(INDICATEUR) %>%
  mutate(value = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  transmute(TIME_PERIOD = paste0(year(date), "T", month(date)/3),
            value = 100*OBS_VALUE/OBS_VALUE[1],
            VARIABLE = INDICATEUR) %>%
  mutate(variable = ifelse(VARIABLE == "IPC", "Prix Insee (IPC)", "Prix Eurostat (IPCH)")) %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q"))
data2 %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text(aes(x = date, y = value, label = round(value, 1)))

Bind

Code
data_bind <- data2 %>%
  bind_rows(data1) %>%
  ungroup %>%
  select(date, value, variable) %>%
  arrange(date)

# write_excel_csv(data_bind, file = "alter_eco_20230213.csv")

data_bind %>%
  ggplot + geom_line(aes(x = date, y = value, color = variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"),
                       breaks = seq(min(data_bind$date), max(data_bind$date), by = 0.25)) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>%
              filter(date == max(date)),
            aes(x = date, y = value, label = round(value, 1)))

2021T3-

Secteurs

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. cadres") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q3")) %>%
  group_by(Secteur) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

Salaires des ouvriers

Tous

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. ouv.") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 2)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2019T4-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. ouv.") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2019 Q4")) %>%
  group_by(Secteur) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 24) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2021T3-

Code
`les-indices-de-salaire-de-base` %>%
  filter(secteur %in% c("ENS", "ET", "EU", "EV"),
         sheets == "Sal. mens. ouv.") %>%
  mutate(date = zoo::as.yearqtr(TIME_PERIOD, format = "%YT%q")) %>%
  filter(date >=  zoo::as.yearqtr("2021 Q3")) %>%
  group_by(Secteur) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Secteur)) + 
  theme_minimal() + xlab("") + ylab("") +
  zoo::scale_x_yearqtr(labels = date_format("%YT%q"), n = 12) +
  scale_y_log10(breaks = seq(100, 200, 1)) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))