So gruppieren sie daten nach woche in r (mit beispiel)
Sie können die Funktion strftime() in Basis-R mit dem Argument „ %V “ verwenden, um Daten in R nach Woche zu gruppieren.
Diese Funktion verwendet die folgende grundlegende Syntax:
df$week_num <- strftime(df$date, format = " %V ")
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Daten nach Woche in R gruppieren
Angenommen, wir haben den folgenden Datenrahmen in R, der die Gesamtverkäufe eines Artikels zu verschiedenen Daten anzeigt:
#create data frame df <- data. frame (date=as. Date (c('1/8/2022', '1/9/2022', '2/10/2022', '2/15/2022', '3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'), sales=c(8, 14, 22, 23, 16, 17, 23)) #view data frame df dirty date 1 2022-01-08 8 2 2022-01-09 14 3 2022-02-10 22 4 2022-02-15 23 5 2022-03-05 16 6 2022-03-22 17 7 2022-03-27 23
Mit dem folgenden Code können wir eine Spalte hinzufügen, die die Wochennummer jedes Datums anzeigt:
#add column to show week number
df$week_num <- strftime(df$date, format = " %V ")
#view updated data frame
df
date sales week_num
1 2022-01-08 8 01
2 2022-01-09 14 01
3 2022-02-10 22 06
4 2022-02-15 23 07
5 2022-03-05 16 09
6 2022-03-22 17 12
7 2022-03-27 23 12
Hinweis : Der Dokumentation zufolge berechnet %V% Datumszahlen folgendermaßen: „die Wochennummer des Jahres (Montag als erster Tag der Woche) als Dezimalzahl [01,53].“ Wenn die Woche, die den 1. Januar enthält, vier oder mehr Tage im neuen Jahr hat, dann wird sie als Woche 1 betrachtet. Andernfalls ist es die letzte Woche des Vorjahres und die folgende Woche ist Woche 1.“
Sobald wir diese neue Spalte erstellt haben, können wir die Werte nach Wochennummer gruppieren.
Beispielsweise können wir den folgenden Code verwenden, um die Summe der Verkäufe, gruppiert nach Woche, zu berechnen:
library (dplyr)
#calculate sum of sales, grouped by week
df %>%
group_by(week_num) %>%
summarize(total_sales = sum(sales))
# A tibble: 6 x 2
week_num total_sales
1 01 22
2 06 22
3 07 23
4 09 16
5 12 40
Aus dem Ergebnis können wir sehen:
- Die Summe der Verkäufe in Woche 1 betrug 22 .
- Die Summe der Verkäufe in Woche 6 betrug 22 .
- Die Summe der Verkäufe in Woche 7 betrug 23 .
Und so weiter.
Wir können auch eine andere Metrik verwenden, um die Daten zu aggregieren.
Beispielsweise können wir den folgenden Code verwenden, um die durchschnittlichen Verkäufe, gruppiert nach Woche, zu berechnen:
library (dplyr)
#calculate mean of sales, grouped by week
df %>%
group_by(week_num) %>%
summarize(mean_sales = mean(sales))
# A tibble: 5 x 2
week_num mean_sales
1 01 11
2 06 22
3 07 23
4 09 16
5 12 20
Aus dem Ergebnis können wir sehen:
- Der durchschnittliche Umsatz in Woche 1 betrug 11 .
- Der durchschnittliche Umsatz in Woche 6 betrug 22 .
- Der durchschnittliche Umsatz in Woche 7 betrug 23 .
Und so weiter.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So gruppieren Sie Daten nach Monat inR
So extrahieren Sie das Jahr aus dem Datum in R
So extrahieren Sie den Monat aus dem Datum in R
So sortieren Sie einen Datenrahmen nach Datum in R