Utilisation de la fonction diff dans R

Manav Narula 9 février 2021
Utilisation de la fonction diff dans R

Le calcul de la différence entre les éléments est une opération fondamentale. Nous pouvons également calculer facilement la différence entre des éléments consécutifs, mais pour d’énormes ensembles de données, il n’est pas efficace de le faire manuellement, ligne par ligne.

En programmation R, la diff() calcule la différence entre des éléments consécutifs du vecteur, qui est passée à la fonction. Le résultat final est également un vecteur. Par exemple :

x <- c(5,3,4,3,8,9,4,8,1)
diff(x)
[1] -2  1 -1  5  1 -5  4 -7

Comme vous pouvez le voir dans l’exemple ci-dessus, la fonction diff() renvoie la différence entre des éléments consécutifs (3 - 5 = -2, 4 - 3 = 1,….). Remarquez également que le vecteur résultant a un élément de moins ; c’est parce qu’il ne peut pas calculer la différence du dernier élément.

Nous pouvons également ajouter deux paramètres à la fonction diff(). Ce sont les paramètres lag et differences.

Le paramètre lag peut spécifier l’écart entre les éléments dont la différence est calculée. Il est de 1 par défaut. Lorsque le paramètre lag est 2, la fonction diff() calculera la différence entre le premier et le troisième élément, le deuxième et le quatrième élément, etc. L’exemple suivant permettra de clarifier les choses :

diff(x, lag = 2)
[1] -1  0  4  6 -4 -1 -3

Le paramètre differences est utilisé pour spécifier l’ordre des différences. Par exemple, nous le mettons à 2 ; il calculera d’abord la différence entre les éléments du vecteur donné, puis il calculera à nouveau la différence des éléments consécutifs du vecteur résultant. L’extrait de code suivant explique cela :

diff(x)
[1] -2  1 -1  5  1 -5  4 -7
diff(x, differences = 2)
[1]   3  -2   6  -4  -6   9 -11

Nous pouvons également faire en sorte que ces deux paramètres soient réglés sur une valeur spécifique à la fois. Par exemple, dans le code ci-dessous, nous avons défini le lag comme étant 2 et les differences comme étant 2.

diff(x, differences = 2, lag = 2)
[1]  5  6 -8 -7  1
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - R Math