كيفية دمج إطارات البيانات حسب أسماء الصفوف في r
يمكنك استخدام بناء الجملة الأساسي التالي لدمج إطاري بيانات في R بناءً على أسماء الصفوف الخاصة بهم:
#inner join merge(df1, df2, by= 0 ) #left join merge(df1, df2, by= 0 , all. x = TRUE ) #outerjoin merge(df1, df2, by= 0 , all= TRUE )
باستخدام الوسيطة by=0 ، يمكننا إخبار R أننا نريد الدمج باستخدام أسماء صفوف كتل البيانات.
توضح الأمثلة التالية كيفية استخدام كل طريقة مع إطاري البيانات التاليين:
#create first data frame
df1 <- data. frame (points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34))
rownames(df1) <- c(1, 2, 3, 4, 5)
df1
assist points
1 99 33
2 90 28
3 86 31
4 88 39
5 95 34
#create second data frame
df2 <- data. frame (rebounds=c(17, 15, 22, 26, 25),
blocks=c(7, 7, 15, 12, 14))
rownames(df2) <- c(3, 4, 5, 6, 7)
df2
rebound blocks
3 17 7
4 15 7
5 22 15
6 26 12
7 25 14
المثال 1: إجراء صلة داخلية باستخدام أسماء الصفوف
يوضح التعليمة البرمجية التالية كيفية إجراء صلة داخلية على إطاري بيانات باستخدام أسماء الصفوف:
#perform inner join using row names
merge(df1, df2, by= 0 )
Row.names points assists rebounds blocks
1 3 86 31 17 7
2 4 88 39 15 7
3 5 95 34 22 15
لاحظ أنه يتم الاحتفاظ فقط بالصفوف التي تنتمي أسماء صفوفها إلى كلا إطاري البيانات في إطار البيانات المدمج النهائي.
المثال 2: إجراء صلة يسرى باستخدام أسماء الصفوف
يوضح التعليمة البرمجية التالية كيفية إجراء صلة يسرى على إطاري بيانات باستخدام أسماء الصفوف:
#perform left join using row names
merge(df1, df2, by= 0 , all. x = TRUE )
Row.names points assists rebounds blocks
1 1 99 33 NA NA
2 2 90 28 NA NA
3 3 86 31 17 7
4 4 88 39 15 7
5 5 95 34 22 15
لاحظ أنه يتم الاحتفاظ بجميع الصفوف من إطار البيانات الأول في إطار البيانات المدمج النهائي.
المثال 3: إجراء صلة خارجية باستخدام أسماء الصفوف
يوضح التعليمة البرمجية التالية كيفية إجراء صلة خارجية على إطاري بيانات باستخدام أسماء الصفوف:
#perform outer join using row names
merge(df1, df2, by= 0 , all= TRUE )
Row.names points assists rebounds blocks
1 1 99 33 NA NA
2 2 90 28 NA NA
3 3 86 31 17 7
4 4 88 39 15 7
5 5 95 34 22 15
6 6 NA NA 26 12
7 7 NA NA 25 14
لاحظ أنه يتم الاحتفاظ بجميع الصفوف من كلا إطاري البيانات في إطار البيانات المدمج النهائي.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف إطار البيانات الشائعة الأخرى في R:
كيفية القيام بالانضمام الأيسر في R
كيفية إجراء VLOOKUP في R
كيفية إضافة صفوف إلى إطار البيانات في R