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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir