Verwendung der diff-Funktion in R (mit Beispielen)

Von Fabian
Kategorie: R
Lesezeit: 2 Minuten

Sie können die Funktion diff() in R verwenden, um verzögerte Differenzen zwischen aufeinanderfolgenden Elementen in Vektoren zu berechnen.

diff(x)

Die folgenden Beispiele zeigen die praktische Anwendung dieser Funktion.

Beispiel 1: Finden Sie verzögerte Unterschiede zwischen aufeinanderfolgenden Elementen

Der folgende Code zeigt, wie Sie die verzögerten Unterschiede zwischen Elementen in einem Vektor finden:

#Vektor definieren
x <- c(4, 6, 9, 8, 13)

#verzögerte Unterschiede zwischen aufeinanderfolgenden Elementen finden
diff(x)

[1]  2  3 -1  5

So wurden die verzögerten Differenzen berechnet:

  • 6 – 4 = 2
  • 9 – 6 = 3
  • 8 – 9 = -1
  • 13 – 8 = 5

Beispiel 2: Finden Sie verzögerte Unterschiede zwischen nicht aufeinanderfolgenden Elementen

Der folgende Code zeigt, wie Sie das lag-Argument verwenden, um die verzögerten Unterschiede zwischen Elementen zu finden, die in einem Vektor zwei Positionen voneinander entfernt sind:

#Vektor definieren
x <- c(4, 6, 9, 8, 13)

#verzögerte Unterschiede zwischen Elementen finden, die 2 Positionen voneinander entfernt sind
diff(x, lag=2)

[1] 5 2 4

So wurden die verzögerten Differenzen berechnet:

  • 9 – 4 = 5
  • 8 – 6 = 2
  • 13 – 9 = 4

Beispiel 3: Finden Sie verzögerte Unterschiede in der Spalte des Dataframes

Der folgende Code zeigt, wie Sie die verzögerten Unterschiede zwischen einer bestimmten Spalte in einem Dataframe finden:

#Dataframe definieren
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#Dataframe anzeigen
df

  var1 var2 var3 var4
1    1    7    3    1
2    3    7    3    1
3    3    8    6    2
4    4    3    6    8
5    5    2    8    9

#verzögerte Unterschiede zwischen Elementen in der Spalte 'var1' finden
diff(df$var1)

[1] 2 0 1 1

Beispiel 4: Finden Sie verzögerte Unterschiede in mehreren Spalten des Dataframes

Der folgende Code zeigt, wie Sie die sapply()-Funktion verwenden, um die verzögerten Unterschiede zwischen mehreren Spalten in einem Dataframe zu finden:

#Dataframe definieren
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#Dataframe anzeigen
df

  var1 var2 var3 var4
1    1    7    3    1
2    3    7    3    1
3    3    8    6    2
4    4    3    6    8
5    5    2    8    9

#verzögerte Unterschiede zwischen Elementen in jeder Spalte finden
sapply(df, diff)

     var1 var2 var3 var4
[1,]    2    0    0    0
[2,]    0    1    3    1
[3,]    1   -5    0    6
[4,]    1   -1    2    1

Zusätzliche Ressourcen

Eine Anleitung zu apply(), lapply(), sapply() und tapply() in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: