Jusqu’à présent vous avez analysé les températures à l’échelle de l’année sans regarder leur variation temporelle. En France métropolitaine, les températures moyennes mais aussi minimales et maximales sont loin d’être constantes !
Avant d’aller voir les variations temporelles de ces données, commençons par les définir.
Identifiez les variations temporelles
Les dimensions temporelles sont vraiment à part. Elles peuvent être considérées comme des variables quantitatives. Par exemple, les années s’enchaînent de manière linéaire mais cela nie la périodicité qu’elles peuvent avoir entre elles.
Elles aussi peuvent être considérées comme des variables qualitatives ordonnées, par exemple janvier -> février -> mars -> avril -> mai -> juin -> juillet -> août -> septembre -> octobre -> novembre -> décembre. Mais elles sont aussi cycliques ; ainsi le mois de décembre est plus proche en température du mois de janvier que du mois d’août, pourtant plus proche dans la liste.
Pour pouvoir traiter cette cyclicité, il faut nécessairement traiter les dates comme des cas à part.
Vous avez importé les dates sous format date lors de l’utilisation read_csv()
.
Pour le vérifier, vous pouvez utiliser glimpse()
du package {dplyr}
: glimpse(donnees_temperature)
ou la fonction class()
du package {base}
: class(donnees_temperature$date_obs)
.
Et si jamais ce n’était pas le cas, il faudrait que je réimporte mon fichier sous la bonne forme ?
Non, vous pouvez transformer une colonne en format Date
grâce à la fonction date
du package {lubridate}
.
donnees_temperature <- donnees_temperature |>
mutate(
date_obs = date(date_obs)
)
Si la date n’est pas automatiquement reconnue, vous pouvez aussi utiliser les fonctions spécifiques au format, par exemple ymd_hms("2011-06-04 12:00:00")
. La vignette du package {lubridate}
vous en apprendra plus dessus : vignette("lubridate")
.
Prenez en main le package lubridate
Selon votre blueprint, vous allez devoir représenter la température selon le mois de l’année. Il faut donc créer de nouvelles colonnes permettant d’accéder au mois et à l’année. C’est ce que je vais vous montrer à travers cette vidéo grâce au package {lubridate}
.
Dans cette vidéo vous avez appris à extraire le mois et l’année grâce au code suivant :
donnees_temperature <- donnees_temperature |>
mutate(
mois = month(date_obs, abbr = FALSE, label = TRUE),
annee = year(date_obs)
)
Représentez les données temporelles
Vous souhaitez vérifier que vous avez bien la même quantité de données pour tous les mois des trois années. Pour cela, vous allez représenter sous forme de heatmap, aussi appelée carte des points chauds, les dates :
donnees_temperature |>
count(mois, annee) |>
ggplot() +
aes(x = mois, y = annee, fill = n) +
geom_tile() +
theme_classic()
Sur le graphique vous pouvez noter :
l’alternance de mois à 28 (février) ou 29 (février 2020), 30 (avril, juin, septembre et novembre) ou 31 jours (janvier, mars…) ;
l’absence de données pour novembre et décembre 2023.
À vous de jouer
Contexte
En continuant sur votre lancée pour les analyses descriptives univariées, vous vous rendez compte que les mois de novembre et décembre 2023 sont absents du jeu de données.
Pendant la pause repas, vous en discutez avec Camille. Elle comprend tout de suite le problème, en effet, elle a constitué elle-même le jeu de données et la version qu’elle a utilisée devait être datée de novembre 2023. Elle vous promet de l’envoyer rapidement et effectivement, une heure plus tard vous recevez un message avec le nouveau jeu de données.
Consignes
Vous devez à partir de ce jeu de données :
Créer les colonnes Mois et Année.
Représenter les données pour les vérifier.
En résumé
Les données temporelles ont une périodicité et une linéarité qui les distinguent des données qualitatives et quantitatives.
Le package à utiliser pour manipuler les données dans R est
{lubridate}
.Ce package permet de transformer une grande variété de formats date en date comprise par R (“1958/12/07”, “06-15-2005”...).
Il est possible de sortir d’une date les éléments qui la composent.
Vous avez visité le temps, finalisons ce tour d’horizon par l’exploration spatiale.