#Verifie si une librairie est installee, l’installe au besoin et la charge

list.of.packages <- c("modelr", "rio", "tidyverse", "DescTools", "pastecs", 
                      "psych", "pander", "gmodels", "vcd", "fastDummies", 
                      "questionr", "PerformanceAnalytics", "Hmisc", "FSA", 
                      "car", "robustHD", "hexView", "ggplot2", "dplyr", 
                      "forecast", "latticeExtra", "numbers", "zoo", "lubridate",
                      "stringr", "fastDummies", "descr","tinytex")

new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]

if(length(new.packages)) {install.packages(new.packages)}
lapply(list.of.packages, require, character.only = TRUE)
## Le chargement a nécessité le package : modelr
## Le chargement a nécessité le package : rio
## Warning: le package 'rio' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : tidyverse
## Warning: le package 'stringr' a été compilé avec la version R 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Le chargement a nécessité le package : DescTools
## Warning: le package 'DescTools' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : pastecs
## Warning: le package 'pastecs' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'pastecs'
## 
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     first, last
## 
## L'objet suivant est masqué depuis 'package:tidyr':
## 
##     extract
## 
## Le chargement a nécessité le package : psych
## Warning: le package 'psych' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'psych'
## 
## Les objets suivants sont masqués depuis 'package:DescTools':
## 
##     AUC, ICC, SD
## 
## Les objets suivants sont masqués depuis 'package:ggplot2':
## 
##     %+%, alpha
## 
## Le chargement a nécessité le package : pander
## Warning: le package 'pander' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : gmodels
## Warning: le package 'gmodels' a été compilé avec la version R 4.4.3
## Registered S3 method overwritten by 'gdata':
##   method         from     
##   reorder.factor DescTools
## Le chargement a nécessité le package : vcd
## Warning: le package 'vcd' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : grid
## Le chargement a nécessité le package : fastDummies
## Warning: le package 'fastDummies' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : questionr
## Warning: le package 'questionr' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'questionr'
## 
## L'objet suivant est masqué depuis 'package:psych':
## 
##     describe
## 
## Le chargement a nécessité le package : PerformanceAnalytics
## Warning: le package 'PerformanceAnalytics' a été compilé avec la version R
## 4.4.3
## Le chargement a nécessité le package : xts
## Warning: le package 'xts' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : zoo
## Warning: le package 'zoo' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'zoo'
## 
## Les objets suivants sont masqués depuis 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attachement du package : 'xts'
## 
## Les objets suivants sont masqués depuis 'package:pastecs':
## 
##     first, last
## 
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     first, last
## 
## 
## Attachement du package : 'PerformanceAnalytics'
## 
## L'objet suivant est masqué depuis 'package:vcd':
## 
##     Kappa
## 
## L'objet suivant est masqué depuis 'package:graphics':
## 
##     legend
## 
## Le chargement a nécessité le package : Hmisc
## Warning: le package 'Hmisc' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'Hmisc'
## 
## Les objets suivants sont masqués depuis 'package:questionr':
## 
##     describe, wtd.mean, wtd.table, wtd.var
## 
## L'objet suivant est masqué depuis 'package:psych':
## 
##     describe
## 
## Les objets suivants sont masqués depuis 'package:DescTools':
## 
##     %nin%, Label, Mean, Quantile
## 
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     src, summarize
## 
## Les objets suivants sont masqués depuis 'package:base':
## 
##     format.pval, units
## 
## Le chargement a nécessité le package : FSA
## Warning: le package 'FSA' a été compilé avec la version R 4.4.3
## ## FSA v0.9.6. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
## 
## Attachement du package : 'FSA'
## 
## L'objet suivant est masqué depuis 'package:psych':
## 
##     headtail
## 
## Le chargement a nécessité le package : car
## Warning: le package 'car' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : carData
## Warning: le package 'carData' a été compilé avec la version R 4.4.3
## Registered S3 methods overwritten by 'car':
##   method       from
##   hist.boot    FSA 
##   confint.boot FSA 
## 
## Attachement du package : 'car'
## 
## L'objet suivant est masqué depuis 'package:FSA':
## 
##     bootCase
## 
## L'objet suivant est masqué depuis 'package:psych':
## 
##     logit
## 
## L'objet suivant est masqué depuis 'package:DescTools':
## 
##     Recode
## 
## L'objet suivant est masqué depuis 'package:dplyr':
## 
##     recode
## 
## L'objet suivant est masqué depuis 'package:purrr':
## 
##     some
## 
## Le chargement a nécessité le package : robustHD
## Warning: le package 'robustHD' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : perry
## Warning: le package 'perry' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : parallel
## 
## Attachement du package : 'perry'
## 
## L'objet suivant est masqué depuis 'package:modelr':
## 
##     mape
## 
## Le chargement a nécessité le package : robustbase
## Warning: le package 'robustbase' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : hexView
## Le chargement a nécessité le package : forecast
## Warning: le package 'forecast' a été compilé avec la version R 4.4.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo 
## 
## Attachement du package : 'forecast'
## 
## L'objet suivant est masqué depuis 'package:DescTools':
## 
##     BoxCox
## 
## Le chargement a nécessité le package : latticeExtra
## Warning: le package 'latticeExtra' a été compilé avec la version R 4.4.3
## Le chargement a nécessité le package : lattice
## 
## Attachement du package : 'latticeExtra'
## 
## L'objet suivant est masqué depuis 'package:vcd':
## 
##     rootogram
## 
## L'objet suivant est masqué depuis 'package:ggplot2':
## 
##     layer
## 
## Le chargement a nécessité le package : numbers
## Warning: le package 'numbers' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'numbers'
## 
## L'objet suivant est masqué depuis 'package:PerformanceAnalytics':
## 
##     Omega
## 
## L'objet suivant est masqué depuis 'package:psych':
## 
##     omega
## 
## Les objets suivants sont masqués depuis 'package:DescTools':
## 
##     GCD, LCM, Primes
## 
## Le chargement a nécessité le package : descr
## Warning: le package 'descr' a été compilé avec la version R 4.4.3
## 
## Attachement du package : 'descr'
## 
## L'objet suivant est masqué depuis 'package:questionr':
## 
##     freq
## 
## L'objet suivant est masqué depuis 'package:gmodels':
## 
##     CrossTable
## 
## Le chargement a nécessité le package : tinytex
## Warning: le package 'tinytex' a été compilé avec la version R 4.4.3
## [[1]]
## [1] TRUE
## 
## [[2]]
## [1] TRUE
## 
## [[3]]
## [1] TRUE
## 
## [[4]]
## [1] TRUE
## 
## [[5]]
## [1] TRUE
## 
## [[6]]
## [1] TRUE
## 
## [[7]]
## [1] TRUE
## 
## [[8]]
## [1] TRUE
## 
## [[9]]
## [1] TRUE
## 
## [[10]]
## [1] TRUE
## 
## [[11]]
## [1] TRUE
## 
## [[12]]
## [1] TRUE
## 
## [[13]]
## [1] TRUE
## 
## [[14]]
## [1] TRUE
## 
## [[15]]
## [1] TRUE
## 
## [[16]]
## [1] TRUE
## 
## [[17]]
## [1] TRUE
## 
## [[18]]
## [1] TRUE
## 
## [[19]]
## [1] TRUE
## 
## [[20]]
## [1] TRUE
## 
## [[21]]
## [1] TRUE
## 
## [[22]]
## [1] TRUE
## 
## [[23]]
## [1] TRUE
## 
## [[24]]
## [1] TRUE
## 
## [[25]]
## [1] TRUE
## 
## [[26]]
## [1] TRUE
## 
## [[27]]
## [1] TRUE
## 
## [[28]]
## [1] TRUE
install_formats()
#tinytex::reinstall_tinytex(repository = "illinois")
tinytex::install_tinytex(force=TRUE)
## tlmgr install tlgpg
## tlmgr update --self
## tlmgr install tlgpg
## tlmgr --repository http://www.preining.info/tlgpg/ install tlgpg
## tlmgr option repository "https://ctan.mirror.rafal.ca/systems/texlive/tlnet"
## tlmgr update --list

QUESTION1 MISE EN SITUATION Le jeu de données Demande_´Electricité.csv contient l’historique de la demande horaire d’électricité (en Mégawattheures) au Québec entre 2019 et 2022

library(tidyverse)
library(lubridate)
library(rio)
data_pop <- import("Population.csv")
view(data_pop)
data_dem <- import("Demande_Électricité.csv")
view(data_dem)
  1. D’abord, effectuez les manipulations suivantes et présentez une capture d’´ecran des 10 dernières lignes du jeu de données final.
  1. A l’aide de la fonction ‘summarise()’, agrégez les données quotidiennement afin d’obtenir la demande totale d’´electricité, exprimée en gigawattheures.
demandes_journalières <- data_dem %>%
  group_by(DATE) %>%
  summarise(demande_GWh = sum(DEMANDE) / 1000)  
 tibble(demandes_journalières)
## # A tibble: 1,461 × 2
##    DATE       demande_GWh
##    <IDate>          <dbl>
##  1 2019-01-01        595.
##  2 2019-01-02        707.
##  3 2019-01-03        722.
##  4 2019-01-04        632.
##  5 2019-01-05        562.
##  6 2019-01-06        597.
##  7 2019-01-07        734.
##  8 2019-01-08        688.
##  9 2019-01-09        625.
## 10 2019-01-10        657.
## # ℹ 1,451 more rows
  1. Créez trois nouvelles colonnes qui indiquent l’année, le trimestre et le jour de la semaine.
 # Étape 1 : Ajouter ANNEE et jour_semaine
Demande_année <- data_dem %>%
  mutate(
    ANNEE = year(DATE),
   ,TRIMESTRE = case_when(
      month(DATE) %in% 1:3   ~ "Q1",
      month(DATE) %in% 4:6   ~ "Q2",
      month(DATE) %in% 7:9   ~ "Q3",
      month(DATE) %in% 10:12 ~ "Q4"), JOUR = wday(DATE, label = TRUE, abbr = FALSE, week_start = 1))
  
tibble(Demande_année)
## # A tibble: 35,068 × 6
##    DATE       HEURE DEMANDE ANNEE TRIMESTRE JOUR 
##    <IDate>    <int>   <dbl> <dbl> <chr>     <ord>
##  1 2019-01-01     0  25040.  2019 Q1        mardi
##  2 2019-01-01     1  23763.  2019 Q1        mardi
##  3 2019-01-01     2  23830.  2019 Q1        mardi
##  4 2019-01-01     3  23608.  2019 Q1        mardi
##  5 2019-01-01     4  23562.  2019 Q1        mardi
##  6 2019-01-01     5  23546.  2019 Q1        mardi
##  7 2019-01-01     6  23753.  2019 Q1        mardi
##  8 2019-01-01     7  24022.  2019 Q1        mardi
##  9 2019-01-01     8  24190.  2019 Q1        mardi
## 10 2019-01-01     9  24072.  2019 Q1        mardi
## # ℹ 35,058 more rows
  1. Filtrez les données pour ne conserver que les demandes quotidiennes d’électricité au deuxième trimestre de 2019.
 # Étape 1 : Ajouter ANNEE et jour_semaine

Jeu_de_données_final_Question1 <-Demande_année%>% 
  filter(TRIMESTRE=="Q2", ANNEE==2019)
tibble(Jeu_de_données_final_Question1)
## # A tibble: 2,184 × 6
##    DATE       HEURE DEMANDE ANNEE TRIMESTRE JOUR 
##    <IDate>    <int>   <dbl> <dbl> <chr>     <ord>
##  1 2019-04-01     0  22107.  2019 Q2        lundi
##  2 2019-04-01     1  21671.  2019 Q2        lundi
##  3 2019-04-01     2  21781.  2019 Q2        lundi
##  4 2019-04-01     3  22130.  2019 Q2        lundi
##  5 2019-04-01     4  22579.  2019 Q2        lundi
##  6 2019-04-01     5  23296.  2019 Q2        lundi
##  7 2019-04-01     6  24862.  2019 Q2        lundi
##  8 2019-04-01     7  27171.  2019 Q2        lundi
##  9 2019-04-01     8  27986.  2019 Q2        lundi
## 10 2019-04-01     9  26932.  2019 Q2        lundi
## # ℹ 2,174 more rows
  1. Présentez et commentez le graphique séquentiel des demandes quotidiennes d’électricité au deuxième trimestre de 2019. Présentez et commentez les graphiques séquentiels saisonniers des demandes quotidiennes d’électricité au deuxième trimestre de 2019.
# Agréger les données par date
Jeu_de_données_final_aggregées <- Jeu_de_données_final_Question1 %>%
  group_by(DATE) %>%
  summarise(demande_GWh = sum(DEMANDE) / 1000)

# Visualiser
ggplot(Jeu_de_données_final_aggregées, aes(x = DATE, y = demande_GWh)) +
  geom_line(color = "steelblue") +
  labs(
    title = "Demande quotidienne d'électricité – 2ᵉ trimestre 2019",
    x = "Date",
    y = "Demande (en GWh)"
  ) +
    geom_point() +
   geom_smooth(se=F) +
  geom_smooth(method="lm", se=F, color="red") +
  theme_minimal()
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'

📈 Effet de tendance On observe une diminution continue de la demande d’électricité entre avril et juin 2019. Cette baisse progressive, étalée sur plusieurs semaines, reflète un effet de tendance probablement lié à la hausse des températures printanières.

📅 Effet saisonnier La courbe présente des variations régulières chaque semaine : la demande chute en fin de semaine et remonte en semaine. Cette répétition hebdomadaire correspond à un effet saisonnier avec une périodicité de 7 jours, lié au rythme des activités humaines.

🌊 Effet cyclique Certaines hausses ou baisses plus longues apparaissent sans suivre de rythme précis. Ces vagues autour de la moyenne peuvent suggérer un effet cyclique, influencé par des événements ponctuels comme des congés ou des conditions météo inhabituelles.

QUESTION 2 (13 points) Afin de présenter des résultats plus précis, on souhaite analyser l’évolution de la demande d’électricité par habitant. En repartant des jeux de données originaux nommés Demande_´Electricité.csv (sans le filtre appliqué `à la question 1) et Population.csv, effectuez les manipulations suivantes et présentez une capture d’écran des 10 premières lignes du jeu de données final.

  1. D’abord, effectuez les manipulations suivantes et présentez une capture d’´ecran des 10 dernières lignes du jeu de données final. #Une capture d’´ecran des 10 premières lignes du jeu de données final question 1.
tail(Jeu_de_données_final_Question1, 10)
##            DATE HEURE  DEMANDE ANNEE TRIMESTRE     JOUR
## 2175 2019-06-30    14 16744.88  2019        Q2 dimanche
## 2176 2019-06-30    15 16377.94  2019        Q2 dimanche
## 2177 2019-06-30    16 16416.06  2019        Q2 dimanche
## 2178 2019-06-30    17 16518.80  2019        Q2 dimanche
## 2179 2019-06-30    18 16694.68  2019        Q2 dimanche
## 2180 2019-06-30    19 16682.27  2019        Q2 dimanche
## 2181 2019-06-30    20 16491.88  2019        Q2 dimanche
## 2182 2019-06-30    21 16271.90  2019        Q2 dimanche
## 2183 2019-06-30    22 16348.67  2019        Q2 dimanche
## 2184 2019-06-30    23 15982.66  2019        Q2 dimanche
  1. Créez deux nouvelles colonnes qui indiquent l’année et le trimestre.
 # Étape 1 : Ajouter ANNEE et jour_semaine
Demande_année <- data_dem %>%
  mutate(
    ANNEE = year(DATE),
   ,TRIMESTRE = case_when(
      month(DATE) %in% 1:3   ~ "Q1",
      month(DATE) %in% 4:6   ~ "Q2",
      month(DATE) %in% 7:9   ~ "Q3",
      month(DATE) %in% 10:12 ~ "Q4"))
  
tibble(Demande_année)
## # A tibble: 35,068 × 5
##    DATE       HEURE DEMANDE ANNEE TRIMESTRE
##    <IDate>    <int>   <dbl> <dbl> <chr>    
##  1 2019-01-01     0  25040.  2019 Q1       
##  2 2019-01-01     1  23763.  2019 Q1       
##  3 2019-01-01     2  23830.  2019 Q1       
##  4 2019-01-01     3  23608.  2019 Q1       
##  5 2019-01-01     4  23562.  2019 Q1       
##  6 2019-01-01     5  23546.  2019 Q1       
##  7 2019-01-01     6  23753.  2019 Q1       
##  8 2019-01-01     7  24022.  2019 Q1       
##  9 2019-01-01     8  24190.  2019 Q1       
## 10 2019-01-01     9  24072.  2019 Q1       
## # ℹ 35,058 more rows
  1. A l’aide de la fonction summarise(), agrégez les données trimestriellement afin d’obtenir la demande totale d’électricité, pour chaque trimestre de chaque année.
demande_trimestrielle <- Demande_année%>%
  group_by(ANNEE,TRIMESTRE)%>%
  summarise(demande_GWh = sum(DEMANDE) / 1000)
## `summarise()` has grouped output by 'ANNEE'. You can override using the
## `.groups` argument.
  print(demande_trimestrielle)
## # A tibble: 16 × 3
## # Groups:   ANNEE [4]
##    ANNEE TRIMESTRE demande_GWh
##    <dbl> <chr>           <dbl>
##  1  2019 Q1             60466.
##  2  2019 Q2             40285.
##  3  2019 Q3             37072.
##  4  2019 Q4             50394.
##  5  2020 Q1             57928.
##  6  2020 Q2             39664.
##  7  2020 Q3             37609.
##  8  2020 Q4             49156.
##  9  2021 Q1             58213.
## 10  2021 Q2             40289.
## 11  2021 Q3             38960.
## 12  2021 Q4             50020.
## 13  2022 Q1             63605.
## 14  2022 Q2             41566.
## 15  2022 Q3             39357.
## 16  2022 Q4             49771.
  1. Dans le jeu de données ainsi créé, ainsi que dans le jeu de données Population.csv, créez une nouvelle variable PÉRIODE définie par la concaténation des chaînes de caractères correspondant à l’année et au trimestre. #Pour le nouveau jeu créé
 demande_trimestrielle_periode<-demande_trimestrielle %>% 
  mutate(PERIODE = paste0(ANNEE, "", TRIMESTRE))%>%
  select(PERIODE,demande_GWh)
## Adding missing grouping variables: `ANNEE`
print(demande_trimestrielle_periode)
## # A tibble: 16 × 3
## # Groups:   ANNEE [4]
##    ANNEE PERIODE demande_GWh
##    <dbl> <chr>         <dbl>
##  1  2019 2019Q1       60466.
##  2  2019 2019Q2       40285.
##  3  2019 2019Q3       37072.
##  4  2019 2019Q4       50394.
##  5  2020 2020Q1       57928.
##  6  2020 2020Q2       39664.
##  7  2020 2020Q3       37609.
##  8  2020 2020Q4       49156.
##  9  2021 2021Q1       58213.
## 10  2021 2021Q2       40289.
## 11  2021 2021Q3       38960.
## 12  2021 2021Q4       50020.
## 13  2022 2022Q1       63605.
## 14  2022 2022Q2       41566.
## 15  2022 2022Q3       39357.
## 16  2022 2022Q4       49771.

#Pour “Population.csv”

population_periode <- data_pop %>%
  mutate(PERIODE = paste0(ANNEE, "", TRIMESTRE)) %>%
  select(PERIODE, -ANNEE, -TRIMESTRE, POPULATION)

print(population_periode)
##    PERIODE POPULATION
## 1   2019Q1    8430363
## 2   2019Q2    8447632
## 3   2019Q3    8483186
## 4   2019Q4    8521542
## 5   2020Q1    8537376
## 6   2020Q2    8550900
## 7   2020Q3    8551095
## 8   2020Q4    8551865
## 9   2021Q1    8550561
## 10  2021Q2    8556015
## 11  2021Q3    8572020
## 12  2021Q4    8603553
## 13  2022Q1    8613999
## 14  2022Q2    8627524
## 15  2022Q3    8672185
## 16  2022Q4    8730868
  1. Effectuez une jointure des deux jeux de données.
dem_pop_join <- left_join(demande_trimestrielle_periode, population_periode, by = "PERIODE") %>%
select(PERIODE, POPULATION, demande_GWh)
## Adding missing grouping variables: `ANNEE`
tibble(dem_pop_join)
## # A tibble: 16 × 4
##    ANNEE PERIODE POPULATION demande_GWh
##    <dbl> <chr>        <int>       <dbl>
##  1  2019 2019Q1     8430363      60466.
##  2  2019 2019Q2     8447632      40285.
##  3  2019 2019Q3     8483186      37072.
##  4  2019 2019Q4     8521542      50394.
##  5  2020 2020Q1     8537376      57928.
##  6  2020 2020Q2     8550900      39664.
##  7  2020 2020Q3     8551095      37609.
##  8  2020 2020Q4     8551865      49156.
##  9  2021 2021Q1     8550561      58213.
## 10  2021 2021Q2     8556015      40289.
## 11  2021 2021Q3     8572020      38960.
## 12  2021 2021Q4     8603553      50020.
## 13  2022 2022Q1     8613999      63605.
## 14  2022 2022Q2     8627524      41566.
## 15  2022 2022Q3     8672185      39357.
## 16  2022 2022Q4     8730868      49771.
  1. Créez une variable calculant la demande trimestrielle moyenne par habitant, exprimée en kilowattheures.
dem_pop_join_hab <- dem_pop_join %>%
  mutate(demande_par_habitant_kWh = (demande_GWh * 1e6) / POPULATION)
tibble(dem_pop_join_hab)
## # A tibble: 16 × 5
##    ANNEE PERIODE POPULATION demande_GWh demande_par_habitant_kWh
##    <dbl> <chr>        <int>       <dbl>                    <dbl>
##  1  2019 2019Q1     8430363      60466.                    7172.
##  2  2019 2019Q2     8447632      40285.                    4769.
##  3  2019 2019Q3     8483186      37072.                    4370.
##  4  2019 2019Q4     8521542      50394.                    5914.
##  5  2020 2020Q1     8537376      57928.                    6785.
##  6  2020 2020Q2     8550900      39664.                    4639.
##  7  2020 2020Q3     8551095      37609.                    4398.
##  8  2020 2020Q4     8551865      49156.                    5748.
##  9  2021 2021Q1     8550561      58213.                    6808.
## 10  2021 2021Q2     8556015      40289.                    4709.
## 11  2021 2021Q3     8572020      38960.                    4545.
## 12  2021 2021Q4     8603553      50020.                    5814.
## 13  2022 2022Q1     8613999      63605.                    7384.
## 14  2022 2022Q2     8627524      41566.                    4818.
## 15  2022 2022Q3     8672185      39357.                    4538.
## 16  2022 2022Q4     8730868      49771.                    5701.
  1. Créez une variable indiquant si oui ou non, la demande trimestrielle moyenne par habitant est supérieure a 6 000 kWh.
dem_pop_join_hab_etat <- dem_pop_join_hab %>%
  mutate(
    au_dessus_6000 = if_else(demande_par_habitant_kWh > 6000, "oui", "non"),
    au_dessus_6000 = factor(au_dessus_6000, levels = c("non", "oui"))
  )

tibble(dem_pop_join_hab_etat)
## # A tibble: 16 × 6
##    ANNEE PERIODE POPULATION demande_GWh demande_par_habitant_kWh au_dessus_6000
##    <dbl> <chr>        <int>       <dbl>                    <dbl> <fct>         
##  1  2019 2019Q1     8430363      60466.                    7172. oui           
##  2  2019 2019Q2     8447632      40285.                    4769. non           
##  3  2019 2019Q3     8483186      37072.                    4370. non           
##  4  2019 2019Q4     8521542      50394.                    5914. non           
##  5  2020 2020Q1     8537376      57928.                    6785. oui           
##  6  2020 2020Q2     8550900      39664.                    4639. non           
##  7  2020 2020Q3     8551095      37609.                    4398. non           
##  8  2020 2020Q4     8551865      49156.                    5748. non           
##  9  2021 2021Q1     8550561      58213.                    6808. oui           
## 10  2021 2021Q2     8556015      40289.                    4709. non           
## 11  2021 2021Q3     8572020      38960.                    4545. non           
## 12  2021 2021Q4     8603553      50020.                    5814. non           
## 13  2022 2022Q1     8613999      63605.                    7384. oui           
## 14  2022 2022Q2     8627524      41566.                    4818. non           
## 15  2022 2022Q3     8672185      39357.                    4538. non           
## 16  2022 2022Q4     8730868      49771.                    5701. non
  1. Triez les observations du nouveau jeu de données en ordre décroissant des demandes trimestrielles moyennes par habitant et présentez les colonnes dans l’ordre suivant : PERIODE, POPULATION, DEMANDE - MOYENNE.
Jeu_de_données_final_Question2 <- dem_pop_join_hab_etat %>%
  arrange(desc(demande_par_habitant_kWh)) %>%
  select(PERIODE, POPULATION, demande_par_habitant_kWh)
## Adding missing grouping variables: `ANNEE`
print(Jeu_de_données_final_Question2)
## # A tibble: 16 × 4
## # Groups:   ANNEE [4]
##    ANNEE PERIODE POPULATION demande_par_habitant_kWh
##    <dbl> <chr>        <int>                    <dbl>
##  1  2022 2022Q1     8613999                    7384.
##  2  2019 2019Q1     8430363                    7172.
##  3  2021 2021Q1     8550561                    6808.
##  4  2020 2020Q1     8537376                    6785.
##  5  2019 2019Q4     8521542                    5914.
##  6  2021 2021Q4     8603553                    5814.
##  7  2020 2020Q4     8551865                    5748.
##  8  2022 2022Q4     8730868                    5701.
##  9  2022 2022Q2     8627524                    4818.
## 10  2019 2019Q2     8447632                    4769.
## 11  2021 2021Q2     8556015                    4709.
## 12  2020 2020Q2     8550900                    4639.
## 13  2021 2021Q3     8572020                    4545.
## 14  2022 2022Q3     8672185                    4538.
## 15  2020 2020Q3     8551095                    4398.
## 16  2019 2019Q3     8483186                    4370.

#Une capture d’´ecran des 10 premières lignes du jeu de données final question 2.

tail(Jeu_de_données_final_Question2, 10)
## # A tibble: 10 × 4
## # Groups:   ANNEE [4]
##    ANNEE PERIODE POPULATION demande_par_habitant_kWh
##    <dbl> <chr>        <int>                    <dbl>
##  1  2020 2020Q4     8551865                    5748.
##  2  2022 2022Q4     8730868                    5701.
##  3  2022 2022Q2     8627524                    4818.
##  4  2019 2019Q2     8447632                    4769.
##  5  2021 2021Q2     8556015                    4709.
##  6  2020 2020Q2     8550900                    4639.
##  7  2021 2021Q3     8572020                    4545.
##  8  2022 2022Q3     8672185                    4538.
##  9  2020 2020Q3     8551095                    4398.
## 10  2019 2019Q3     8483186                    4370.