Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer les valeurs décalées dans R (avec exemples)



Vous pouvez utiliser la fonction lag() du package dplyr dans R pour calculer les valeurs décalées.

Cette fonction utilise la syntaxe de base suivante :

décalage(x, n=1, …)

où:

  • x : vecteur de valeurs
  • n : nombre de positions à retarder

L’exemple suivant montre comment utiliser cette fonction pour calculer des valeurs décalées dans la pratique.

Exemple : calcul de valeurs décalées dans R

Supposons que nous ayons le bloc de données suivant dans R qui montre le nombre de ventes réalisées par un magasin sur 10 jours consécutifs :

#create data frame
df <- data.frame(day=1:10,
                 sales=c(18, 10, 14, 13, 19, 24, 25, 29, 15, 18))

#view data frame
df

   day sales
1    1    18
2    2    10
3    3    14
4    4    13
5    5    19
6    6    24
7    7    25
8    8    29
9    9    15
10  10    18

Nous pouvons utiliser la fonction lag() du package dplyr pour créer une colonne lag qui affiche les ventes de la veille pour chaque ligne :

library(dplyr)

#add new column that shows sales for previous day
df$previous_day_sales <- dplyr::lag(df$sales, n=1)

#view updated data frame
df

   day sales previous_day_sales
1    1    18                 NA
2    2    10                 18
3    3    14                 10
4    4    13                 14
5    5    19                 13
6    6    24                 19
7    7    25                 24
8    8    29                 25
9    9    15                 29
10  10    18                 15

Voici comment interpréter le résultat :

  • La première valeur de la colonne décalage est NA puisqu’il n’y a pas de valeur antérieure dans la colonne ventes.
  • La deuxième valeur de la colonne de décalage est 18 puisqu’il s’agit de la valeur précédente dans la colonne des ventes.
  • La troisième valeur de la colonne de décalage est 10 puisqu’il s’agit de la valeur précédente dans la colonne des ventes.

Et ainsi de suite.

Nous pouvons également modifier la valeur de l’argument n dans la fonction lag() pour calculer une valeur décalée pour un nombre différent de positions précédentes :

library(dplyr)

#add new column that shows sales for two days prior
df$previous_day_sales <- dplyr::lag(df$sales, n=2)

#view updated data frame
df

   day sales previous_day_sales
1    1    18                 NA
2    2    10                 NA
3    3    14                 18
4    4    13                 10
5    5    19                 14
6    6    24                 13
7    7    25                 19
8    8    29                 24
9    9    15                 25
10  10    18                 29

Remarque : Pour créer une colonne principale, utilisez la fonction lead() du package dplyr au lieu de la fonction lag() .

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :

Comment utiliser la fonction n() dans dplyr
Comment utiliser la fonction across() dans dplyr
Comment utiliser la fonction relocate() dans dplyr
Comment utiliser la fonction slice() dans dplyr

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *