MISE EN SITUATION Le jeu de données Demande_Électricité.csv contient l’historique de la demande horaire d’électricité (en Mégawattheures) au Québec entre 2019 et 2022 1. Le jeu de données Population.csv contient quant a lui la population totale du Québec, évaluéea chaque trimestre entre 2019 et 2022.

setwd("~/USHERBROOKE/ESCUELA/ÉTÉ/MQG813 - Statistiques décisionnelles avancées/D1")
library(tidyverse)
## ── 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.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── 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
library(lubridate)
library(rio)
data_dem <-import("Demande_Électricité.csv")
data_pop <- import("Population.csv")
view(data_pop)
view(data_dem)

QUESTION 1 (12 points) `A partir du jeu de données Demande_Électricité.csv, on souhaite analyser le comportement de la demande quotidienne d’électricité au deuxiéme trimestre de 2019. (a) D’abord, effectuez les manipulations suivantes et présentez une capture d’écran 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’électricité, exprimée en gigawattheures.
  1. on confirme si on a 24h du jour
donnees_quitidiennes<-data_dem%>%
  group_by(DATE)%>%
  summarise(demande_GWh=sum(DEMANDE)/1000)
donnees_quitidiennes 
  1. Créez trois nouvelles colonnes qui indiquent l’année, le trimestre et le jour de la semaine.
donnees_quitidiennes<- mutate(donnees_quitidiennes,ANNEE = year(DATE), TRIMESTRE = paste0("T", quarter(DATE)),jour_semaine = wday(DATE, label = TRUE, abbr = FALSE, week_start = 1))

view(donnees_quitidiennes)
donnees_quitidiennes %>%
  distinct(ANNEE, TRIMESTRE) %>%
  count(ANNEE)
  1. Filtrez les données pour ne conserver que les demandes quotidiennes d’électricité au deuxiéme trimestre de 2019.
donnees_quitidiennes_T2_2019<-donnees_quitidiennes %>% filter(ANNEE==2019,TRIMESTRE == "T2")
View(donnees_quitidiennes_T2_2019)
  1. Présentez et commentez le graphique séquentiel des demandes quotidiennes d’électricité au deuxiéme trimestre de 2019.

commentaire:

cet graphique presente la demande quotidienne d’electricite durant la 2eme trimestre de 2019, avec 2 courbes de tendances superposees. La courbe bleu montre de facon souple les variations. La droite de regression lineare montre la meme tendance de maniere plus rigide.La demande est plus importante au début du trimestre, puis elle diminue peu à peu avant de se maintenir à un niveau plus bas en juin (ou on reste autour di 400GWh depuis la fin mai). Ce qui peut etre lié a la transition vers des temperature plus chaudes et la diminution de lusage du chauffage. On peut aussi observer leffet saisonniere: chaque 5-6 jours d’ une demande haute, on observe 2-3 jours d’un baisse remarque de la demande(souvent en fin de semaine).

ggplot(donnees_quitidiennes_T2_2019, aes(x=DATE, y=demande_GWh)) +  
  geom_line() +
  geom_point() +
 geom_smooth(se=F) + geom_smooth(method="lm", se=F, color="orange") +
  labs(x="Date",
       y="Demande (GWh)",
       title="Demandes Quotidiennes d’Électricité ",
       subtitle= "au deuxiéme trimestre de 2019") +
theme_bw()
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'

n_distinct(donnees_quitidiennes_T2_2019$DATE)
## [1] 91

Présentez et commentez les graphiques séquentiels saisonniers des demandes quotidiennes d’électricité au deuxiéme trimestre de 2019. ici les saissons sont les jour de la semaine

commentaire: Le graphique coloré permet de visualiser rapidement les hausses et baisses répétées au cours des semaines.

Lautre graphique (un par jour) rend plus visibles les variations spécifiques à chaque jour.

La demande est généralement plus forte du mardi au jeudi, avec une moyenne d’environ 430 GWh le mardi, tandis qu’elle baisse le samedi et atteint son minimum le dimanche, avec une moyenne autour de 400 GWh.

Cette dynamique reflète des motifs réguliers, probablement liés aux horaires de travail et à la consommation dans les bureaux ou les services publics.

On observe également une légère baisse globale de la demande sur le trimestre.

Toutefois, il est difficile d’identifier un effet cyclique à plus long terme, car les données disponibles ne couvrent que trois mois

ggplot(donnees_quitidiennes_T2_2019, aes(x=DATE, y=demande_GWh, color= jour_semaine))+  
  geom_line() +
  geom_point() 

  labs(x="Date",
       y="Demande (GWh)",
       title="Demandes Quotidiennes d’Électricité par jour de la semaine ",
       subtitle= "au deuxiéme trimestre de 2019" ) +
theme_bw()
## NULL

Grapiques separees

ggplot(donnees_quitidiennes_T2_2019, aes(x = DATE, y = demande_GWh)) +
  geom_line() +
  facet_wrap(~ jour_semaine, ncol = 2) +
  labs(
    x = "Date",
    y = "Demande (GWh)",
    title = "Demandes quotidiennes d’électricité par jour de la semaine",
    subtitle = "T2 2019"
  ) +
  theme_bw()

Boite a moustache commentaire: autre visuel aussi mieux lisible que le premier. Les jours ouvrables (comme le mardi, mercredi et jeudi) présentent des médianes autour de 420 à 430 GWh.

Ces jours montrent aussi une plus grande dispersion, c’est-à-dire que les valeurs de la demande varient davantage entre les jours : il y a plus d’écart entre les plus faibles et les plus fortes demandes, ce qui est visible par des boîtes et des “moustaches” plus longues. À l’inverse, les week-ends (surtout le dimanche) ont des médianes plus basses (environ 400 GWh) et une dispersion plus faible, ce qui signifie que la demande reste plus stable, avec peu de variation d’un dimanche à l’autre.

Cela reflète probablement une consommation plus régulière les fins de semaine, en lien avec la baisse d’activité dans les secteurs résidentiel, commercial ou industriel..

ggplot(donnees_quitidiennes_T2_2019, aes(x=jour_semaine, y=demande_GWh))+ geom_boxplot(fill="lightblue")+
  labs(x="Date",
       y="Demande (GWh)",
       title="Demandes Quotidiennes d’Électricité par jour de la semaine ",
       subtitle= "au deuxiéme trimestre de 2019")

theme_bw()
## List of 136
##  $ line                            :List of 6
##   ..$ colour       : chr "black"
##   ..$ linewidth    : num 0.5
##   ..$ linetype     : num 1
##   ..$ lineend      : chr "butt"
##   ..$ arrow        : logi FALSE
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_line" "element"
##  $ rect                            :List of 5
##   ..$ fill         : chr "white"
##   ..$ colour       : chr "black"
##   ..$ linewidth    : num 0.5
##   ..$ linetype     : num 1
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_rect" "element"
##  $ text                            :List of 11
##   ..$ family       : chr ""
##   ..$ face         : chr "plain"
##   ..$ colour       : chr "black"
##   ..$ size         : num 11
##   ..$ hjust        : num 0.5
##   ..$ vjust        : num 0.5
##   ..$ angle        : num 0
##   ..$ lineheight   : num 0.9
##   ..$ margin       : 'margin' num [1:4] 0points 0points 0points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : logi FALSE
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ title                           : NULL
##  $ aspect.ratio                    : NULL
##  $ axis.title                      : NULL
##  $ axis.title.x                    :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 1
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 2.75points 0points 0points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.title.x.top                :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 0
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 0points 2.75points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.title.x.bottom             : NULL
##  $ axis.title.y                    :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 1
##   ..$ angle        : num 90
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 2.75points 0points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.title.y.left               : NULL
##  $ axis.title.y.right              :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 1
##   ..$ angle        : num -90
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 0points 0points 2.75points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text                       :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : chr "grey30"
##   ..$ size         : 'rel' num 0.8
##   ..$ hjust        : NULL
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : NULL
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text.x                     :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 1
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 2.2points 0points 0points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text.x.top                 :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : NULL
##   ..$ vjust        : num 0
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 0points 2.2points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text.x.bottom              : NULL
##  $ axis.text.y                     :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : num 1
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 2.2points 0points 0points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text.y.left                : NULL
##  $ axis.text.y.right               :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : num 0
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 0points 0points 2.2points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.text.theta                 : NULL
##  $ axis.text.r                     :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : num 0.5
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : 'margin' num [1:4] 0points 2.2points 0points 2.2points
##   .. ..- attr(*, "unit")= int 8
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ axis.ticks                      :List of 6
##   ..$ colour       : chr "grey20"
##   ..$ linewidth    : NULL
##   ..$ linetype     : NULL
##   ..$ lineend      : NULL
##   ..$ arrow        : logi FALSE
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_line" "element"
##  $ axis.ticks.x                    : NULL
##  $ axis.ticks.x.top                : NULL
##  $ axis.ticks.x.bottom             : NULL
##  $ axis.ticks.y                    : NULL
##  $ axis.ticks.y.left               : NULL
##  $ axis.ticks.y.right              : NULL
##  $ axis.ticks.theta                : NULL
##  $ axis.ticks.r                    : NULL
##  $ axis.minor.ticks.x.top          : NULL
##  $ axis.minor.ticks.x.bottom       : NULL
##  $ axis.minor.ticks.y.left         : NULL
##  $ axis.minor.ticks.y.right        : NULL
##  $ axis.minor.ticks.theta          : NULL
##  $ axis.minor.ticks.r              : NULL
##  $ axis.ticks.length               : 'simpleUnit' num 2.75points
##   ..- attr(*, "unit")= int 8
##  $ axis.ticks.length.x             : NULL
##  $ axis.ticks.length.x.top         : NULL
##  $ axis.ticks.length.x.bottom      : NULL
##  $ axis.ticks.length.y             : NULL
##  $ axis.ticks.length.y.left        : NULL
##  $ axis.ticks.length.y.right       : NULL
##  $ axis.ticks.length.theta         : NULL
##  $ axis.ticks.length.r             : NULL
##  $ axis.minor.ticks.length         : 'rel' num 0.75
##  $ axis.minor.ticks.length.x       : NULL
##  $ axis.minor.ticks.length.x.top   : NULL
##  $ axis.minor.ticks.length.x.bottom: NULL
##  $ axis.minor.ticks.length.y       : NULL
##  $ axis.minor.ticks.length.y.left  : NULL
##  $ axis.minor.ticks.length.y.right : NULL
##  $ axis.minor.ticks.length.theta   : NULL
##  $ axis.minor.ticks.length.r       : NULL
##  $ axis.line                       : list()
##   ..- attr(*, "class")= chr [1:2] "element_blank" "element"
##  $ axis.line.x                     : NULL
##  $ axis.line.x.top                 : NULL
##  $ axis.line.x.bottom              : NULL
##  $ axis.line.y                     : NULL
##  $ axis.line.y.left                : NULL
##  $ axis.line.y.right               : NULL
##  $ axis.line.theta                 : NULL
##  $ axis.line.r                     : NULL
##  $ legend.background               :List of 5
##   ..$ fill         : NULL
##   ..$ colour       : logi NA
##   ..$ linewidth    : NULL
##   ..$ linetype     : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_rect" "element"
##  $ legend.margin                   : 'margin' num [1:4] 5.5points 5.5points 5.5points 5.5points
##   ..- attr(*, "unit")= int 8
##  $ legend.spacing                  : 'simpleUnit' num 11points
##   ..- attr(*, "unit")= int 8
##  $ legend.spacing.x                : NULL
##  $ legend.spacing.y                : NULL
##  $ legend.key                      : NULL
##  $ legend.key.size                 : 'simpleUnit' num 1.2lines
##   ..- attr(*, "unit")= int 3
##  $ legend.key.height               : NULL
##  $ legend.key.width                : NULL
##  $ legend.key.spacing              : 'simpleUnit' num 5.5points
##   ..- attr(*, "unit")= int 8
##  $ legend.key.spacing.x            : NULL
##  $ legend.key.spacing.y            : NULL
##  $ legend.frame                    : NULL
##  $ legend.ticks                    : NULL
##  $ legend.ticks.length             : 'rel' num 0.2
##  $ legend.axis.line                : NULL
##  $ legend.text                     :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : 'rel' num 0.8
##   ..$ hjust        : NULL
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : NULL
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ legend.text.position            : NULL
##  $ legend.title                    :List of 11
##   ..$ family       : NULL
##   ..$ face         : NULL
##   ..$ colour       : NULL
##   ..$ size         : NULL
##   ..$ hjust        : num 0
##   ..$ vjust        : NULL
##   ..$ angle        : NULL
##   ..$ lineheight   : NULL
##   ..$ margin       : NULL
##   ..$ debug        : NULL
##   ..$ inherit.blank: logi TRUE
##   ..- attr(*, "class")= chr [1:2] "element_text" "element"
##  $ legend.title.position           : NULL
##  $ legend.position                 : chr "right"
##  $ legend.position.inside          : NULL
##  $ legend.direction                : NULL
##  $ legend.byrow                    : NULL
##  $ legend.justification            : chr "center"
##  $ legend.justification.top        : NULL
##  $ legend.justification.bottom     : NULL
##  $ legend.justification.left       : NULL
##  $ legend.justification.right      : NULL
##  $ legend.justification.inside     : NULL
##  $ legend.location                 : NULL
##  $ legend.box                      : NULL
##  $ legend.box.just                 : NULL
##  $ legend.box.margin               : 'margin' num [1:4] 0cm 0cm 0cm 0cm
##   ..- attr(*, "unit")= int 1
##  $ legend.box.background           : list()
##   ..- attr(*, "class")= chr [1:2] "element_blank" "element"
##  $ legend.box.spacing              : 'simpleUnit' num 11points
##   ..- attr(*, "unit")= int 8
##   [list output truncated]
##  - attr(*, "class")= chr [1:2] "theme" "gg"
##  - attr(*, "complete")= logi TRUE
##  - attr(*, "validate")= logi TRUE

Q2

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´es Demande_Électricité.csv (sans le filtre appliqué a la question 1) et Population.csv, effectuez les manipulations suivantes et présentez une capture d’´ecran des 10 premieres lignes du jeu de données final.

dem <-import("Demande_Électricité.csv")
pop <- import("Population.csv")
view(pop)
view(dem)
  1. Créez deux nouvelles colonnes qui indiquent l’année et le trimestre.
dem<- dem %>%
  mutate(dem,ANNEE = year(DATE), TRIMESTRE = paste0("Q", quarter(DATE))
)
view(dem)
  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.
donnees_Trim<-dem %>%
  group_by(ANNEE,TRIMESTRE)%>%
  summarise(demande_MWh=sum(DEMANDE))
## `summarise()` has grouped output by 'ANNEE'. You can override using the
## `.groups` argument.
view(donnees_Trim)
  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 `a l’année et au trimestre.
donnees_Trim<-donnees_Trim %>%
  mutate (PERIODE=str_c(ANNEE,TRIMESTRE, sep = "-"))
   donnees_Trim
   pop<-pop %>%
     mutate (PERIODE=str_c(ANNEE,TRIMESTRE, sep="-"))
         pop
        pop_clean<- pop[,-c(1,2)]
        pop_clean
  1. Effectuez une jointure des deux jeux de donn´ees.
dem_pop <- left_join(donnees_Trim,pop_clean, by="PERIODE")

print(dem_pop)
## # A tibble: 16 × 5
## # Groups:   ANNEE [4]
##    ANNEE TRIMESTRE demande_MWh PERIODE POPULATION
##    <dbl> <chr>           <dbl> <chr>        <int>
##  1  2019 Q1          60465918. 2019-Q1    8430363
##  2  2019 Q2          40284742. 2019-Q2    8447632
##  3  2019 Q3          37072268. 2019-Q3    8483186
##  4  2019 Q4          50394340. 2019-Q4    8521542
##  5  2020 Q1          57927860. 2020-Q1    8537376
##  6  2020 Q2          39663615. 2020-Q2    8550900
##  7  2020 Q3          37609018. 2020-Q3    8551095
##  8  2020 Q4          49156015. 2020-Q4    8551865
##  9  2021 Q1          58213472. 2021-Q1    8550561
## 10  2021 Q2          40289445. 2021-Q2    8556015
## 11  2021 Q3          38959681. 2021-Q3    8572020
## 12  2021 Q4          50019551. 2021-Q4    8603553
## 13  2022 Q1          63605145. 2022-Q1    8613999
## 14  2022 Q2          41565992. 2022-Q2    8627524
## 15  2022 Q3          39356762. 2022-Q3    8672185
## 16  2022 Q4          49770676. 2022-Q4    8730868

Petite rappelle dem_pop <- dem_pop %>% left_join(donnees_Trim, pop_clean, by = “PERIODE”) incorrecte

left_join(dem_pop, donnees_Trim, pop_clean, by = “PERIODE”) # ❌ Error de demasiados argumentos

  1. Cr´eez une variable calculant la demande trimestrielle moyenne par habitant, exprim´ee en kilowattheures.
dem_pop <- dem_pop %>%
  mutate(demandemoy_kWh_pp = (demande_MWh * 1000) / POPULATION)
dem_pop
  1. Créez une variable indiquant si oui ou non, la demande trimestrielle moyenne par habitant est sup´erieure `a 6 000 kWh.
dem_pop<-dem_pop %>%
  mutate(
    surdemande= if_else(demandemoy_kWh_pp> 6000,"oui","non") 
  )
dem_pop
  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. Remarque : Le nouveau jeu de donn´ees devrait contenir 16 lignes.
dem_pop1<-dem_pop %>%
  rename(DEMANDE_MOYENNE= demandemoy_kWh_pp)
  
resultat_final<-dem_pop1%>%
  arrange(desc(DEMANDE_MOYENNE))
resultat_final
resultat_final[1:10, c(4:6)]