كيفية تجميع البيانات حسب الوقت في لغة r (مع مثال)


يمكنك استخدام بناء الجملة التالي لتجميع البيانات حسب الوقت وإجراء التجميع في R:

 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))

يقوم هذا المثال تحديدًا بتجميع القيم حسب الساعة في عمود يسمى ” الساعة” ثم يقوم بحساب مجموع القيم الموجودة في عمود “المبيعات ” لكل ساعة.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: تجميع البيانات حسب الوقت في R

لنفترض أن لدينا إطار البيانات التالي الذي يوضح عدد المبيعات التي تمت في أوقات مختلفة من اليوم لمتجر ما:

 #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

يمكننا استخدام الصيغة التالية لتجميع عمود الوقت حسب الساعات وحساب مجموع المبيعات لكل ساعة:

 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

ومن النتيجة يمكننا أن نرى:

  • تم إجراء ما مجموعه 38 عملية بيع في الساعة الأولى.
  • تم إجراء ما مجموعه 29 عملية بيع في الساعة الثانية.
  • تم إجراء ما مجموعه 10 عمليات بيع في الساعة الرابعة.
  • تم إجراء ما مجموعه 9 عمليات بيع خلال الساعة الخامسة.

لاحظ أنه يمكننا أيضًا إجراء تجميع آخر.

على سبيل المثال، يمكننا حساب متوسط عدد المبيعات في الساعة:

 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

ومن النتيجة يمكننا أن نرى:

  • وكان متوسط المبيعات التي تمت في الساعة الأولى 19 .
  • وكان متوسط المبيعات التي تمت في الساعة الثانية 14.5 .
  • وكان متوسط المبيعات التي تمت في الساعة الرابعة 10 .
  • وكان متوسط المبيعات التي تمت في الساعة الخامسة 9 .

لا تتردد في تجميع إطار البيانات الخاص بك حسب الوقت وحساب أي مقياس محدد تريده عن طريق تعديل المقياس في وظيفة الملخص () .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:

كيفية تجميع البيانات حسب الشهر في R
كيفية تجميع البيانات حسب الأسبوع في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *