كيفية حساب المبلغ التراكمي لكل مجموعة في r


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

الطريقة الأولى: استخدم Base R

 df$cum_sum <- ave(df$values_var, df$group_var, FUN=cumsum)

الطريقة الثانية: استخدم dplyr

 library (dplyr)

df %>% group_by(group_var) %>% mutate(cum_sum = cumsum(values_var))

الطريقة الثالثة: استخدام data.table

 library (data.table)

setDT(df)[, cum_sum := cumsum(values_var), group_var] 

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي في R:

 #create data frame
df <- data. frame (store=rep(c(' A ', ' B ', ' C '), each= 4 ),
                 sales=c(3, 4, 4, 2, 5, 8, 9, 7, 6, 8, 3, 2))

#view data frame
df

   blind sales
1 to 3
2 to 4
3 to 4
4 to 2
5 B 5
6 B 8
7 B 9
8 B 7
9 C 6
10 C 8
11 C 3
12 C 2

مثال 1: حساب المجموع التراكمي لكل مجموعة باستخدام قاعدة R

يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة ave() في قاعدة بيانات R لحساب المجموع التراكمي للمبيعات ، مجمعة حسب المتجر :

 #add column to show cumulative sales by store
df$cum_sales <- ave(df$sales, df$store, FUN=cumsum)

#view updated data frame
df

   store sales cum_sales
1 to 3 3
2 to 4 7
3 to 4 11
4 to 2 13
5 B 5 5
6 B 8 13
7 B 9 22
8 B 7 29
9 C 6 6
10 C 8 14
11 C 3 17
12 C 2 19

يعرض العمود الجديد المسمى cum_sales المجموع التراكمي للمبيعات ، مجمعة حسب المتجر .

مثال 2: حساب المجموع التراكمي لكل مجموعة باستخدام dplyr

يوضح التعليمة البرمجية التالية كيفية استخدام وظائف مختلفة من حزمة dplyr في R لحساب المجموع التراكمي للمبيعات ، مجمعة حسب المتجر :

 library (dplyr)

#add column to show cumulative sales by store
df %>% group_by(store) %>% mutate(cum_sales = cumsum(sales))

#view updated data frame
df

# A tibble: 12 x 3
# Groups: store [3]
   store sales cum_sales
         
 1 to 3 3
 2 to 4 7
 3 to 4 11
 4 to 2 13
 5 B 5 5
 6 B 8 13
 7 B 9 22
 8 B 7 29
 9 C 6 6
10 C 8 14
11 C 3 17
12 C 2 19

يعرض العمود الجديد المسمى cum_sales المجموع التراكمي للمبيعات ، مجمعة حسب المتجر .

مثال 3: حساب المجموع التراكمي حسب المجموعة باستخدام data.table

يوضح التعليمة البرمجية التالية كيفية استخدام وظائف مختلفة من حزمة data.table في R لحساب المجموع التراكمي للمبيعات ، مجمعة حسب المتجر :

 library (data.table)

#add column to show cumulative sales by store
setDT(df)[, cum_sales := cumsum(sales), store] 

#view updated data frame
df

    store sales cum_sales
 1: A 3 3
 2: A 4 7
 3: A 4 11
 4: A 2 13
 5: B 5 5
 6: B 8 13
 7: B 9 22
 8: B 7 29
 9: C 6 6
10: C 8 14
11: C 3 17
12: C 2 19

يعرض العمود الجديد المسمى cum_sales المجموع التراكمي للمبيعات ، مجمعة حسب المتجر .

ملاحظة : جميع الطرق الثلاثة تعطي نفس النتيجة. ومع ذلك، تميل أساليب dplyr وdata.table إلى أن تكون أسرع عند العمل مع إطارات بيانات كبيرة جدًا.

مصادر إضافية

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

كيفية حساب المبلغ حسب المجموعة في R
كيفية حساب المتوسط لكل مجموعة في R
كيفية حساب الانحراف المعياري حسب المجموعة في R

Add a Comment

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