كيفية استخدام bind_rows وbind_cols في dplyr (مع أمثلة)


يمكنك استخدام الدالة bind_rows() من الحزمة dplyr في R لربط إطارين من إطارات البيانات بصفوفهما:

 bind_rows(df1, df2, df3, ...)

وبالمثل، يمكنك استخدام الدالة bind_cols() الخاصة بـ dplyr لربط إطاري بيانات بواسطة أعمدتهم:

 bind_cols(df1, df2, df3, ...)

توضح الأمثلة التالية كيفية استخدام كل من هذه الوظائف عمليًا.

المثال 1: استخدم bind_rows()

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة bind_rows() لربط ثلاثة إطارات بيانات معًا بناءً على صفوفها:

 library (dplyr)

#create data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  dots=c(12, 14, 19, 24))


df2 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  dots=c(8, 17, 22, 25))

df3 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  assists=c(4, 9, 12, 6))

#row bind together data frames
bind_rows(df1, df2, df3)

   team points assists
1 to 12 NA
2 A 14 NA
3 B 19 NA
4 B 24 NA
5 to 8 NA
6 B 17 NA
7 C 22 NA
8 C 25 NA
9 A NA 4
10 B NA 9
11 C NA 12
12 C NA 6

لاحظ أن هذه الوظيفة تملأ القيم المفقودة تلقائيًا بـ NA إذا لم تكن جميع إطارات البيانات لها نفس أسماء الأعمدة.

المثال 2: استخدم bind_cols()

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة bind_cols() لربط ثلاثة إطارات بيانات معًا بناءً على أعمدتها:

 library (dplyr)

#create data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  dots=c(12, 14, 19, 24))


df2 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  dots=c(8, 17, 22, 25))

df3 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  assists=c(4, 9, 12, 6))

#column bind together data frames
bind_cols(df1, df2, df3)

  team points assists steals blocks rebounds
1 A 12 A 8 A 4
2 A 14 B 17 B 9
3 B 19 C 22 C 12
4 B 24 C 25 C 6

لاحظ أن الأعمدة الأصلية لكل إطار بيانات تظهر في إطار البيانات النهائي بالترتيب الذي حددناها به في الدالة bind_cols() .

مصادر إضافية

توضح البرامج التعليمية التالية كيفية ربط إطارات البيانات باستخدام الدالتين rbind() و cbind() في R:

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

Add a Comment

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