كيفية دمج الصفوف مع نفس قيم الأعمدة في r


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

 library (dplyr)

df %>%
  group_by(group_var1, group_var2) %>%
  summarise(across(c(values_var1, values_var2), sum))

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

مثال: دمج الصفوف مع نفس قيم الأعمدة في R

لنفترض أن لدينا إطار البيانات التالي الذي يحتوي على معلومات حول المبيعات والمرتجعات التي أجراها مختلف موظفي الشركة:

 #create data frame
df <- data. frame (id=c(101, 101, 102, 103, 103, 103),
                 employee=c('Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'),
                 sales=c(4, 1, 3, 2, 5, 3),
                 returns=c(1, 2, 2, 1, 3, 2))

#view data frame
df

   id employee sales returns
1 101 Dan 4 1
2 101 Dan 1 2
3 102 Rick 3 2
4 103 Ken 2 1
5 103 Ken 5 3
6 103 Ken 3 2

يمكننا استخدام الصيغة التالية لدمج الصفوف التي لها نفس القيمة في أعمدة المعرف والموظف ، ثم تجميع الأعمدة المتبقية:

 library (dplyr)

#combine rows with same value for id and employee and aggregate remaining columns
df %>%
  group_by(id, employee) %>%
  summarise(across(c(sales, returns), sum))

# A tibble: 3 x 4
#Groups: id[3]
     id employee sales returns
          
1 101 Dan 5 3
2 102 Rick 3 2
3 103 Ken 10 6

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

ملاحظة : نختار تجميع أعمدة المبيعات والمرتجعات باستخدام دالة المجموع ، ولكن يمكنك التجميع باستخدام مقياس آخر مثل المتوسط إذا كنت ترغب في ذلك.

ذات صلة: كيفية استخدام الدالة عبر () في dplyr

مصادر إضافية

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

كيفية دمج القوائم في R
كيفية الجمع بين ناقلين في R
كيفية الجمع بين إطارين للبيانات في R مع أعمدة مختلفة

Add a Comment

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