So gruppieren sie daten nach zeit in r (mit beispiel)
Sie können die folgende Syntax verwenden, um Daten nach Zeit zu gruppieren und eine Aggregation in R durchzuführen:
library (dplyr) library (lubridate) #group by hours in time column and calculate sum of sales df %>% group_by(time=floor_date(time, ' 1 hour ')) %>% summarize(sum_sales=sum(sales))
In diesem speziellen Beispiel werden die Werte pro Stunde in einer Spalte namens „ Stunde “ gruppiert und dann die Summe der Werte in der Spalte „Umsätze “ für jede Stunde berechnet.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Daten nach Zeit in R gruppieren
Nehmen wir an, wir haben den folgenden Datenrahmen, der die Anzahl der Verkäufe zeigt, die zu verschiedenen Tageszeiten für ein Geschäft getätigt wurden:
#create data frame
df <- data. frame (time=as. POSIXct (c('2022-01-01 01:14:00', '2022-01-01 01:24:15',
'2022-01-01 02:52:19', '2022-01-01 02:54:00',
'2022-01-01 04:05:10', '2022-01-01 05:35:09')),
sales=c(18, 20, 15, 14, 10, 9))
#view data frame
df
time sales
1 2022-01-01 01:14:00 18
2 2022-01-01 01:24:15 20
3 2022-01-01 02:52:19 15
4 2022-01-01 02:54:00 14
5 2022-01-01 04:05:10 10
6 2022-01-01 05:35:09 9
Wir können die folgende Syntax verwenden, um die Zeitspalte nach Stunden zu gruppieren und die Summe der Verkäufe für jede Stunde zu berechnen:
library (dplyr) library (lubridate) #group by hours in time column and calculate sum of sales df %>% group_by(time=floor_date(time, ' 1 hour ')) %>% summarize(sum_sales=sum(sales)) `summarise()` ungrouping output (override with `.groups` argument) # A tibble: 4 x 2 time sum_sales 1 2022-01-01 01:00:00 38 2 2022-01-01 02:00:00 29 3 2022-01-01 04:00:00 10 4 2022-01-01 05:00:00 9
Aus dem Ergebnis können wir sehen:
- Insgesamt wurden in der ersten Stunde 38 Verkäufe getätigt.
- Insgesamt wurden in der zweiten Stunde 29 Verkäufe getätigt.
- In der vierten Stunde wurden insgesamt 10 Verkäufe getätigt.
- In der fünften Stunde wurden insgesamt 9 Verkäufe getätigt.
Beachten Sie, dass wir auch eine andere Aggregation durchführen können.
Wir könnten zum Beispiel die durchschnittliche Anzahl der Verkäufe pro Stunde berechnen:
library (dplyr) library (lubridate) #group by hours in time column and calculate mean of sales df %>% group_by(time=floor_date(time, ' 1 hour ')) %>% summarize(mean_sales=mean(sales)) `summarise()` ungrouping output (override with `.groups` argument) # A tibble: 4 x 2 time mean_sales 1 2022-01-01 01:00:00 19 2 2022-01-01 02:00:00 14.5 3 2022-01-01 04:00:00 10 4 2022-01-01 05:00:00 9
Aus dem Ergebnis können wir sehen:
- Der durchschnittliche Umsatz in der ersten Stunde betrug 19 .
- Der durchschnittliche Umsatz in der zweiten Stunde betrug 14,5 % .
- Der durchschnittliche Umsatz in der vierten Stunde betrug 10 .
- Der durchschnittliche Umsatz in der fünften Stunde betrug 9 .
Sie können Ihren eigenen Datenrahmen jederzeit nach Zeit gruppieren und jede gewünschte Metrik berechnen, indem Sie die Metrik in der Funktion summary() ändern.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:
So gruppieren Sie Daten in R nach Monat
So gruppieren Sie Daten nach Woche in R