R'de veriler zamana göre gruplandırma (örnekle)
Verileri zamana göre gruplamak ve R’de toplama işlemini gerçekleştirmek için aşağıdaki sözdizimini kullanabilirsiniz:
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))
Bu özel örnek, değerleri saate göre Saat adı verilen bir sütunda gruplandırır ve ardından her saat için Satış sütunundaki değerlerin toplamını hesaplar.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: verileri R’de zamana göre gruplandırma
Bir mağaza için günün farklı saatlerinde yapılan satışların sayısını gösteren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#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
Zaman sütununu saatlere göre gruplamak ve her saate ilişkin satış toplamını hesaplamak için aşağıdaki sözdizimini kullanabiliriz:
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
Sonuçtan şunu görebiliriz:
- İlk saatte toplam 38 satış gerçekleşti.
- İkinci saatte toplam 29 satış gerçekleşti.
- Dördüncü saatte toplam 10 satış gerçekleşti.
- Beşinci saatte toplam 9 satış gerçekleşti.
Başka bir toplama işlemi de gerçekleştirebileceğimizi unutmayın.
Örneğin saat başına ortalama satış sayısını hesaplayabiliriz:
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
Sonuçtan şunu görebiliriz:
- İlk saatte yapılan ortalama satış ise 19 oldu.
- İkinci saatte yapılan ortalama satış ise 14,5 oldu.
- Dördüncü saatte yapılan ortalama satış ise 10 oldu.
- Beşinci saatte yapılan ortalama satış ise 9 oldu.
Kendi veri çerçevenizi zamana göre gruplamaktan ve özet() işlevindeki metriği değiştirerek istediğiniz herhangi bir metriği hesaplamaktan çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de veriler aya göre nasıl gruplanır
R’de veriler haftaya göre nasıl gruplanır?