Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens

Data - INSEE

Info

source dataset .html .RData
insee IPLA-IPLNA-2015 2024-11-22 2024-12-22

Données sur l’inflation en France

source dataset .html .RData
insee bdf2017 2024-12-22 2023-11-21
insee ILC-ILAT-ICC 2024-12-22 2024-12-22
insee INDICES_LOYERS 2024-12-22 2024-12-22
insee IPC-1970-1980 2024-12-22 2024-12-22
insee IPC-1990 2024-12-22 2024-12-22
insee IPC-2015 2024-12-22 2024-12-22
insee IPC-PM-2015 2024-12-22 2024-12-22
insee IPCH-2015 2024-12-22 2024-12-22
insee IPGD-2015 2024-12-22 2024-12-22
insee IPLA-IPLNA-2015 2024-11-22 2024-12-22
insee IPPI-2015 2024-12-22 2024-12-22
insee IRL 2024-11-22 2024-12-22
insee SERIES_LOYERS 2024-11-22 2024-12-22
insee T_CONSO_EFF_FONCTION 2024-11-22 2024-07-18

Données sur l’immobilier

source dataset .html .RData
acpr as151 2024-06-19 2024-04-05
bdf BSI1 2024-12-09 2024-12-09
bdf CPP 2024-07-26 2024-07-01
bdf FM 2024-12-22 2024-12-22
bdf immobilier 2024-11-19 2024-11-19
bdf MIR 2024-07-26 2024-07-01
bdf MIR1 2024-11-29 2024-12-09
bdf RPP 2024-11-19 2024-11-19
cgedd nombre-vente-maison-appartement-ancien 2024-09-26 2024-09-26
insee CONSTRUCTION-LOGEMENTS 2024-12-22 2024-12-22
insee ENQ-CONJ-ART-BAT 2024-12-22 2024-12-22
insee ENQ-CONJ-IND-BAT 2024-12-22 2024-12-22
insee ENQ-CONJ-PROMO-IMMO 2024-12-22 2024-12-22
insee ENQ-CONJ-TP 2024-12-22 2024-12-22
insee ILC-ILAT-ICC 2024-12-22 2024-12-22
insee INDICES_LOYERS 2024-12-22 2024-12-22
insee IPLA-IPLNA-2015 2024-11-22 2024-12-22
insee IRL 2024-11-22 2024-12-22
insee PARC-LOGEMENTS 2024-11-22 2023-12-03
insee SERIES_LOYERS 2024-11-22 2024-12-22
insee t_dpe_val 2024-11-22 2024-12-21
notaires arrdt 2024-06-30 2024-09-09
notaires dep 2024-06-30 2024-09-08

Data on inflation

source dataset .html .RData
bis CPI 2024-07-01 2022-01-20
ecb CES 2024-12-22 2024-12-22
eurostat nama_10_co3_p3 2024-12-14 2024-12-14
eurostat prc_hicp_cow 2024-11-22 2024-10-08
eurostat prc_hicp_ctrb 2024-11-22 2024-10-08
eurostat prc_hicp_inw 2024-11-05 2024-11-23
eurostat prc_hicp_manr 2024-12-22 2024-12-22
eurostat prc_hicp_midx 2024-11-01 2024-12-22
eurostat prc_hicp_mmor 2024-11-22 2024-11-23
eurostat prc_ppp_ind 2024-11-22 2024-10-08
eurostat sts_inpp_m 2024-06-24 2024-12-22
eurostat sts_inppd_m 2024-12-22 2024-12-22
eurostat sts_inppnd_m 2024-06-24 2024-12-22
fred cpi 2024-12-22 2024-12-22
fred inflation 2024-12-22 2024-12-22
imf CPI 2024-06-20 2020-03-13
oecd MEI_PRICES_PPI 2024-09-15 2024-04-15
oecd PPP2017 2024-04-16 2023-07-25
oecd PRICES_CPI 2024-04-16 2024-04-15
wdi FP.CPI.TOTL.ZG 2023-01-15 2024-09-18
wdi NY.GDP.DEFL.KD.ZG 2024-09-18 2024-09-18

Data on housing

source dataset .html .RData
bdf RPP 2024-11-19 2024-11-19
bis LONG_PP 2024-08-09 2024-05-10
bis SELECTED_PP 2024-10-31 2024-10-31
ecb RPP 2024-10-08 2024-10-30
eurostat ei_hppi_q 2024-11-23 2024-11-23
eurostat hbs_str_t223 2024-11-23 2024-11-23
eurostat prc_hicp_midx 2024-11-01 2024-12-22
eurostat prc_hpi_q 2024-11-22 2024-10-09
fred housing 2024-12-22 2024-12-22
insee IPLA-IPLNA-2015 2024-11-22 2024-12-22
oecd housing 2024-09-15 2020-01-18
oecd SNA_TABLE5 2024-09-11 2023-10-19

LAST_COMPILE

LAST_COMPILE
2024-12-22

LAST_UPDATE

Code
`IPLA-IPLNA-2015` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2024-11-28 14332
2024-12-20 396

Last

Code
`IPLA-IPLNA-2015` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  filter(TIME_PERIOD == max(TIME_PERIOD)) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2024-Q3 142

Info

  • Méthodo. Les indices Notaires-Insee des prix des logements anciens Méthodologie v4 Insee Méthodes n° 132 - juin 2019. pdf

  • 4ème trimestre 2021. html

Code
i_g("bib/insee/IR48_NotairesIPLA-v1640/figure.png")

TITLE_FR

Code
`IPLA-IPLNA-2015` %>%
  group_by(IDBANK, TITLE_FR) %>%
  summarise(Nobs = n(),
            date1 = first(TIME_PERIOD),
            date2 = last(TIME_PERIOD)) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

INDICATEUR

Code
`IPLA-IPLNA-2015` %>%
  left_join(INDICATEUR, by = "INDICATEUR") %>%
  group_by(INDICATEUR, Indicateur) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
INDICATEUR Indicateur Nobs
IPLA_A Indice de prix des appartements (logements anciens) 5800
IPLA_E Indice de prix des logements anciens 4528
IPLA_M Indice de prix des maisons (logements anciens) 4004
IPLN Indice de prix des logements neufs 198
IPLNA Indice de prix des logements neufs et anciens 198

CORRECTION

Code
`IPLA-IPLNA-2015` %>%
  left_join(CORRECTION, by = "CORRECTION") %>%
  group_by(CORRECTION, Correction) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
CORRECTION Correction Nobs
BRUT Non corrigé 7364
CVS Corrigé des variations saisonnières 7364

REF_AREA

Code
`IPLA-IPLNA-2015` %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  group_by(REF_AREA, Ref_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

TIME_PERIOD

Code
`IPLA-IPLNA-2015` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()

Paris, France

All

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1996-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  filter(date >= as.Date("1996-01-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1996-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1998-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  filter(date >= as.Date("1998-01-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1998-2021

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  filter(date >= as.Date("1998-01-01"),
         date <= as.Date("2021-09-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_color_manual(values = viridis(3)[1:2]) +
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2000-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2000-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2014-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  filter(date >= as.Date("2014-01-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2014-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 5))

Paris, Lyon, Marseille, France

All

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1996-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("1996-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1996-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1998-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("1998-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2000-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2000-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2008-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2008-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 10))

2014-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75", "FM")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2014-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2014-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 10))

Paris, Lyon, Marseille

All

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

1998-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("1998-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2000-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2000-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 50))

2008-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2008-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 10))

2010-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2010-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2010-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 10))

2014-

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR == "IPLA_A",
         REF_AREA %in% c("A_69123", "A_13055", "D75")) %>%
  quarter_to_date %>%
  mutate(TITLE_FR = gsub("Indice des prix des logements anciens - ", "", TITLE_FR),
         TITLE_FR = gsub(" - Appartements - Base 100 en moyenne annuelle 2015 - Série brute", "", TITLE_FR)) %>%
  filter(date >= as.Date("2014-01-01")) %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2014-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix des logements anciens") +
  scale_y_log10(breaks = seq(0, 7000, 10))

Neuf vs. ancien

Indice = 2015

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR %in% c("IPLN", "IPLNA", "IPLA_E"),
         REF_AREA == "FM") %>%
  quarter_to_date %>%
  left_join(INDICATEUR, by = "INDICATEUR") %>%
  group_by(INDICATEUR) %>%
  #mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("1998-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("") +
  scale_y_log10(breaks = seq(0, 7000, 10))

Indice = 2000

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR %in% c("IPLN", "IPLNA", "IPLA_E"),
         REF_AREA == "FM") %>%
  quarter_to_date %>%
  left_join(INDICATEUR, by = "INDICATEUR") %>%
  group_by(INDICATEUR) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2000-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank()) +
  xlab("") + ylab("") +
  scale_y_log10(breaks = seq(0, 7000, 10))

Indice = 2000, post - 2000

Code
`IPLA-IPLNA-2015` %>%
  filter(CORRECTION == "BRUT",
         INDICATEUR %in% c("IPLN", "IPLNA", "IPLA_E"),
         REF_AREA == "FM") %>%
  quarter_to_date %>%
  left_join(INDICATEUR, by = "INDICATEUR") %>%
  group_by(INDICATEUR) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE / OBS_VALUE[date == as.Date("2000-01-01")]) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur)) +
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank()) +
  xlab("") + ylab("") +
  scale_y_log10(breaks = seq(0, 7000, 10))