So berechnen sie verschiebungswerte in r (mit beispielen)


Sie können die Funktion lag() aus dem dplyr- Paket in R verwenden, um Lag-Werte zu berechnen.

Diese Funktion verwendet die folgende grundlegende Syntax:

Offset(x, n=1, …)

Gold:

  • x : Wertevektor
  • n : Anzahl der zu verzögernden Positionen

Das folgende Beispiel zeigt, wie man diese Funktion zur Berechnung verschobener Werte in der Praxis verwendet.

Beispiel: Berechnung verschobener Werte in R

Angenommen, wir haben den folgenden Datenrahmen in R, der die Anzahl der Verkäufe zeigt, die ein Geschäft an 10 aufeinanderfolgenden Tagen getätigt hat:

 #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

Wir können die Funktion lag() aus dem dplyr-Paket verwenden, um eine Lag-Spalte zu erstellen, die die Verkäufe des Vortages für jede Zeile anzeigt:

 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

So interpretieren Sie das Ergebnis:

  • Der erste Wert in der Offset-Spalte ist NA , da es in der Verkaufsspalte keinen vorherigen Wert gibt.
  • Der zweite Wert in der Offset-Spalte ist 18 , da es sich um den vorherigen Wert in der Verkaufsspalte handelt.
  • Der dritte Wert in der Offset-Spalte ist 10 , da es sich um den vorherigen Wert in der Verkaufsspalte handelt.

Und so weiter.

Wir können auch den Wert des Arguments n in der Funktion lag() ändern, um einen Verzögerungswert für eine andere Anzahl vorheriger Positionen zu berechnen:

 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

Hinweis : Um eine Lead-Spalte zu erstellen, verwenden Sie die Funktion „lead()“ aus dem dplyr-Paket anstelle der Funktion „lag()“ .

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:

So verwenden Sie die Funktion n() in dplyr
So verwenden Sie die Funktion across() in dplyr
So verwenden Sie die Funktion relocate() in dplyr
So verwenden Sie die Funktion „slice()“ in dplyr

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert