So berechnen sie geschäftstage in r (mit beispielen)
Sie können die Funktionen des bizdays- Pakets in R verwenden, um die Anzahl der Werktage zwischen zwei Daten in R schnell zu addieren, subtrahieren und zu zählen.
Die folgenden Beispiele zeigen, wie Sie diese Funktionen in der Praxis nutzen können.
Beispiel 1: Zählen Sie die Anzahl der Arbeitstage zwischen zwei Daten in R
Um die Anzahl der Werktage zwischen zwei Daten in R zu zählen, müssen Sie zunächst die Funktion create.calendar() aus dem Paket bizdays verwenden, um einen Kalender mit einer Liste von Werktagen zu erstellen:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
Beachten Sie, dass das Argument „Wochenenden“ angibt, welche Wochentage keine Werktage sind.
Anschließend können wir die Funktion bizdays() verwenden, um die Anzahl der Arbeitstage zwischen zwei bestimmten Daten zu zählen:
library (bizdays)
#calculate number of business days between two dates
bizdays(from = ' 2022-01-01 ', to = ' 2022-12-31 ', cal = business_calendar)
[1] 259
Aus dem Ergebnis können wir erkennen, dass zwischen dem 01.01.2022 und dem 31.12.2022 259 Arbeitstage liegen.
Beispiel 2: Geschäftstage vom Datum in R addieren und subtrahieren
Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über die Gesamtverkäufe enthält, die in einem Geschäft zu verschiedenen Terminen getätigt wurden:
#make this example reproducible
set. seeds (1)
#create data frame
df <- data. frame (date = as.Date (' 2022-01-01 ') + 0:249,
sales = runif(n=250, min=1, max=30))
#view head of data frame
head(df)
dirty date
1 2022-01-01 8.699751
2 2022-01-02 11.791593
3 2022-01-03 17.612748
4 2022-01-04 27.338026
5 2022-01-05 6.848776
6 2022-01-06 27.053301
Wir können die Funktion offset() aus dem Paket bizdays verwenden, um zu jedem Datum 10 Werktage hinzuzufügen:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
#add 10 business days to each date
df$date <- bizdays::offset(df$date, 10 , cal = business_calendar)
#view updated head of data frame
head(df)
dirty date
1 2022-01-14 8.699751
2 2022-01-14 11.791593
3 2022-01-17 17.612748
4 2022-01-18 27.338026
5 2022-01-19 6.848776
6 2022-01-20 27.053301
Beachten Sie, dass jedem Datum 10 Werktage hinzugefügt wurden.
Um Werktage zu subtrahieren, verwenden Sie einfach eine negative Zahl in der Funktion offset() .
Der folgende Code zeigt beispielsweise, wie von jedem Datum 10 Werktage abgezogen werden:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
#subtract 10 business days to each date
df$date <- bizdays::offset(df$date, - 10 , cal = business_calendar)
#view updated head of data frame
head(df)
dirty date
1 2021-12-20 8.699751
2 2021-12-20 11.791593
3 2021-12-20 17.612748
4 2021-12-21 27.338026
5 2021-12-22 6.848776
6 2021-12-23 27.053301
Beachten Sie, dass von jedem Datum 10 Werktage abgezogen wurden.
Hinweis : Die vollständige Dokumentation zum bizdays- Paket finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So konvertieren Sie ein Datum in R in ein numerisches Datum
So extrahieren Sie den Monat aus dem Datum in R
So addieren und subtrahieren Sie Monate zu einem Datum in R