ج: كيفية دمج إطارات البيانات بناءً على أعمدة متعددة
يمكنك استخدام بناء الجملة الأساسي التالي لدمج إطاري بيانات في R بناءً على أعمدة متعددة:
merge(df1, df2, by. x =c(' col1 ', ' col2 '), by. y =c(' col1 ', ' col2 '))
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: دمج كتل البيانات عبر أعمدة متعددة
لنفترض أن لدينا إطاري البيانات التاليين في R:
#define data frames
df1 = data. frame (playerID=c(1, 2, 3, 4, 5, 6),
team=c('A', 'B', 'B', 'B', 'C', 'C'),
dots=c(19, 22, 25, 29, 34, 39))
df2 = data. frame (playerID=c(1, 2, 3, 4),
tm=c('A', 'B', 'B', 'B'),
rebounds=c(7, 8, 8, 14))
#view first data frame
df1
playerID team points
1 1 A 19
2 2 B 22
3 3 B 25
4 4 B 29
5 5 C 34
6 6 C 39
#view second data frame
df2
playerID tm rebounds
1 1 To 7
2 2 B 8
3 3 B 8
4 4 B 14
لاحظ أن كلا إطاري البيانات يشتركان في عمود معرف اللاعب ، لكن أعمدة الفريق لها أسماء مختلفة في كل إطار بيانات:
- يحتوي إطار البيانات الأول على عمود ” الفريق “.
- يحتوي إطار البيانات الثاني على العمود ‘ tm ‘
من أجل دمج إطارات البيانات هذه بناءً على أعمدة playerID وteam، نحتاج إلى استخدام الوسيطتين by.x و by.y.
يمكننا استخدام الكود التالي لإجراء هذا الدمج:
#merge two data frames merged = merge(df1, df2, by. x =c(' playerID ', ' team '), by. y =c(' playerID ', ' tm ')) #view merged data frame merged playerID team points rebounds 1 1 A 19 7 2 2 B 22 8 3 3 B 25 8 4 4 B 29 14
يحتوي إطار البيانات المدمج النهائي على بيانات لجميع اللاعبين الأربعة الذين ينتمون إلى إطاري البيانات الأصليين.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف إطار البيانات الشائعة الأخرى في R:
كيفية القيام بالانضمام الأيسر في R
كيفية إجراء VLOOKUP في R
كيفية إضافة صفوف إلى إطار البيانات في R