À partir du fichier sitadel de février 2017 (ROES_201702.xls), produire un dataframe 'sit_pdl_ind' contenant pour la région Pays-de-la-Loire (code région 52), pour chaque mois et pour les logements individuels (définis par la somme des logements individuels purs et individuels groupés : i_AUT = ip_AUT + ig_AUT) :
library(tidyverse) library(readxl) library(RcppRoll) sitadel <- read_excel(system.file("extdata", "ROES_201702.xls", package = "savoirfR"), sheet = "AUT_REG", col_types = c("text", "text", "numeric", "numeric", "numeric", "numeric") )
Résultat attendu :
library(tidyverse) library(readxl) library(RcppRoll) rm(list = ls()) sitadel <- read_excel("extdata/ROES_201702.xls", sheet = "AUT_REG", col_types = c("text", "text", "numeric", "numeric", "numeric", "numeric") )
solution sans le pipe (apercu des premières lignes) %>%
sit_52_ind <- filter(sitadel, REG == "52") sit_52_ind <- arrange(sit_52_ind, date) sit_52_ind <- mutate(sit_52_ind, i_AUT = ip_AUT + ig_AUT, i_AUT_cum12 = roll_sumr(i_AUT, 12), i_AUT_cum12_lag12 = lag(i_AUT_cum12, 12), i_AUT_cum_evo = (i_AUT_cum12 - i_AUT_cum12_lag12) / i_AUT_cum12_lag12 * 100, log_AUT_cum12 = roll_sumr(log_AUT, 12), part_i_AU = i_AUT_cum12 / log_AUT_cum12 * 100) head(sit_52_ind)
solution avec le pipe (apercu des premières lignes) %>%
sit_52_ind <- sitadel %>% filter(REG == "52") %>% arrange(date) %>% # pour être certain de l'ordre des lignes mutate(i_AUT = ip_AUT + ig_AUT, i_AUT_cum12 = roll_sumr(i_AUT, 12), i_AUT_cum12_lag12 = lag(i_AUT_cum12, 12), # création d'une colonne intermédiaire qui décale les valeurs de 12 mois pour mettre côte à côte les cumul d'autorisations espacés de 12 mois i_AUT_cum_evo = (i_AUT_cum12 - i_AUT_cum12_lag12) / i_AUT_cum12_lag12 * 100, log_AUT_cum12 = roll_sumr(log_AUT, 12), # création d'une colonne intermédiaire pour calculer le cumul de logements autorisés les 12 derniers mois part_i_AU = i_AUT_cum12 / log_AUT_cum12 * 100 ) sit_52_ind %>% head()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.