So unterteilen Sie einen Datumsbereich in R (mit Beispielen)

Von Fabian
Kategorie: R
Tags: Zeitreihen
Lesezeit: 3 Minuten

Der einfachste Weg, ein Dataframe um einen Datumsbereich in R zu unterteilen, ist die Verwendung der folgenden Syntax:

df[df$date >= "some date" & df$date <= "some date", ]

Dieses Tutorial enthält einige Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Teilmenge zwischen zwei Daten

Der folgende Code zeigt, wie Sie die Zeilen eines Dataframes auswählen, die zwischen zwei Daten liegen, einschließlich:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(0)

#Dataframe erstellen
df <- data.frame(date = as.Date("2021-01-01") - 0:19,
                 sales = runif(20, 10, 500) + seq(50, 69)^2)

#Die ersten sechs Zeilen anzeigen
head(df)

        date    sales
1 2021-01-01 2949.382
2 2020-12-31 2741.099
3 2020-12-30 2896.341
4 2020-12-29 3099.698
5 2020-12-28 3371.022
6 2020-12-27 3133.824

#subset zwischen zwei Daten, einschließlich
df[df$date >= "2020-12-25" & df$date <= "2020-12-28", ]

        date    sales
5 2020-12-28 3371.022
6 2020-12-27 3133.824
7 2020-12-26 3586.211
8 2020-12-25 3721.891

Sie müssen nur die Größer- und Kleiner-Zeichen ändern, um die Zeilen auszuwählen, die zwischen zwei Daten liegen, ausschließlich:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(0)

# Dataframe erstellen
df <- data.frame(date = as.Date("2021-01-01") - 0:19,
                 sales = runif(20, 10, 500) + seq(50, 69)^2)

#subset zwischen zwei Daten, exklusiv
df[df$date > "2020-12-25" & df$date < "2020-12-28", ]

        date    sales
6 2020-12-27 3133.824
7 2020-12-26 3586.211

Beispiel 2: Teilmenge nach einem bestimmten Datum

Der folgende Code zeigt, wie Sie die Zeilen eines Dataframes auswählen, die nach einem bestimmten Datum auftreten:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(0)

# Dataframe erstellen
df <- data.frame(date = as.Date("2021-01-01") - 0:19,
                 sales = runif(20, 10, 500) + seq(50, 69)^2)

#subset nach einem bestimmten Datum
df[df$date >= "2020-12-22", ]

         date    sales
1  2021-01-01 2949.382
2  2020-12-31 2741.099
3  2020-12-30 2896.341
4  2020-12-29 3099.698
5  2020-12-28 3371.022
6  2020-12-27 3133.824
7  2020-12-26 3586.211
8  2020-12-25 3721.891
9  2020-12-24 3697.791
10 2020-12-23 3799.266
11 2020-12-22 3640.275

Beispiel 3: Teilmenge vor einem bestimmten Datum

Der folgende Code zeigt, wie Sie die Zeilen eines Dataframes auswählen, die vor einem bestimmten Datum auftreten:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(0)

#Dataframe erstellen
df <- data.frame(date = as.Date("2021-01-01") - 0:19,
                 sales = runif(20, 10, 500) + seq(50, 69)^2)

#Subset vor einem bestimmten Datum
df[df$date < "2020-12-22", ]

         date    sales
12 2020-12-21 3831.928
13 2020-12-20 3940.513
14 2020-12-19 4315.641
15 2020-12-18 4294.211
16 2020-12-17 4612.222
17 2020-12-16 4609.873
18 2020-12-15 4850.633
19 2020-12-14 5120.034
20 2020-12-13 4957.217

Zusätzliche Ressourcen

So zeichnen Sie eine Zeitreihe in R
So extrahieren Sie das Jahr vom Datum in R
So aggregieren Sie tägliche Daten zu monatlichen und jährlichen Daten in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: