הפונקציה rbind() ב־R – קישור שורות בקלות

הקשר או השיוך של השורות הוא פעולה פשוטה מאוד עם הפונקציה rbind() ב־R.

rbind() מתייחסת לשורה. במונחים פשוטים, זהו שיוך של מספר שורות ליצירת ספריה אחת. זה יכול לכלול שיוך של שני מסגרות נתונים, וקטורים, ועוד.

מאמר זה ידבר על השימושים והיישומים של פונקציית rbind() בתכנות R.

מבלי לבזבז הרבה זמן, בואו נתקדם אל נושא הדיון!!!


תחביר של פונקציית rbind()

rbind(): הפונקציה rbind או השיוך שורות משמשת לשיוך או לשרבב קבוצות מרובות של שורות יחד.

rbind(x,x1)

איפה:

  • X = the input data.
  • X1 = הנתונים שיש לשרבב.

הרעיון של שרבוב שורות באמצעות rbind()

הרעיון של לשרבב או לשיוך את השורות של מספר מסגרות נתונים שונות הוא יעיל ביותר בעיבוד נתונים.

התרשים למטה בהחלט יסביר לך איך עובדת פונקציית rbind().

ניתן לראות כיצד שורות של מסגרות נתונים שונות יחוברו/ישתלבו על ידי פונקציית rbind().


יישום הפונקציה rbind() ב־R

כפי שאתה יודע, הפונקציה rbind() ב־R משמשת לקשור את השורות של קבוצות שונות של נתונים.

בסעיף זה, בוא ננסה לבנות מסגרות נתונים פשוטות ולקשור אותן באמצעות פונקצית rbind().

#יצירת מסגרת נתונים

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1

הקוד לעיל יבנה מסגרת נתונים פשוטה המציגה פרטי תלמידים ושמות.

   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George

טוב, עכשיו יש לנו מסגרת נתונים של 5 שורות. בוא ניצור מסגרת נתונים נוספת.

#יצירת מסגרת נתונים

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)

df2
    Student_class      Student_details
1   High school           Bracy
2       College            Evin

טוב, עכשיו יש לנו 2 מסגרות נתונים של ספירות שונות (df1 ו־df2). בוא נשתמש בפונקצית rbind() כדי לקשור את שתי המסגרות נתונים הללו למסגרת נתונים אחת.

בוא נראה כיצד זה עובד.

אתה לא תאמין שתהליך הקישור ידרוש רק שורת קוד אחת.

#מקשר שורות של 2 מסגרות נתונים נתונים

rbind(df1,df2)
    Student_class     Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
6   High school           Bracy
7       College            Evin

המסגרת התוצאה תהיה גרסה מקושרת של שתי המסגרות נתונים כפי שמוצג בפלט שלמעלה.


קישור שני מסגרות נתונים באורכים שונים באמצעות הפונקציה bind()

ובכן, בפרק הקודם, אנו כבר איחדנו שתי קבוצות שורות יחד.

בפרק זה, אנו הולכים לשלב שני מערכי נתונים יחד באמצעות הפונקציה rbind ב-R.

#יוצר את מסגרת הנתונים

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1
   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
#יוצר את מסגרת הנתונים

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2
   Student_class   Student_details   Student_rank
1   High school           Bracy            A
2       College            Evin           A+
rbind(df1,df2)
Error in rbind(deparse.level, ...) : 
  numbers of columns of arguments do not match

אופס, מה קרה? למה הפונקציה מחזירה שגיאה?

אם אתה קורא את השורות בשגיאה, היא מציינת שמספר העמודות אינו תואם.

יש לנו 2 עמודות ב-'df1' ו-3 עמודות ב-'df2'.

אל תדאג! יש לנו את הפונקציה bind_rows() שתעזור לנו בתרחישים אלה.


הפונקציה bind_rows() לקישור ערכות נתונים לא אחידות

bind_rows() היא פונקציה שהיא חלק מהחבילה dplyr. עלינו לייבא את החבילה dplyr תחילה כדי לבצע את הפונקציה הזו.

אנו משתמשים במסגרות נתונים זהות הנמצאות בקטע למעלה, כלומר df1 ו-df2. בואו נראה איך זה עובד.

#התקן את החבילות הנדרשות
install.packages('dplyr')
#ייבא ספריות
library(dplyr)
#קשור את השורות
bind_rows(df1,df2)
   Student_class    Student_details   Student_rank
1   High school            Mark         <NA>
2       College            John         <NA>
3   High school        Fredrick         <NA>
4   High school           Floyd         <NA>
5       College          George         <NA>
6   High school           Bracy          A
7       College            Evin          A+

אתה יכול כעת לראות שפונקציית bind_rows קישרה שתי מערכות נתונים לא שוות בכמויות העמודות. הרווחים הריקים ייסומנו כ-<NA>.


קישור של שני קבוצות נתונים באמצעות פונקציית rbind()

בקטע זה, נבחן את תהליך הקישור של שני מערכות נתונים שלמות ב-R.

בוא נראה איך זה עובד.

נשתמש במערכת נתונים BOD מכיוון שיש לה רק 6 שורות וניתן לראות בקלות את השורות המקושרות.

#מקשר שתי מערכות נתונים
rbind(BOD,BOD)
  Time demand
1     1    8.3
2     2   10.3
3     3   19.0
4     4   16.0
5     5   15.6
6     7   19.8
---------------
7     1    8.3
8     2   10.3
9     3   19.0
10    4   16.0
11    5   15.6
12    7   19.8

מערכת הנתונים BOD כוללת 6 שורות. מכיוון שאנו מעבירים את הנתונים פעמיים, פונקציית rbind() תקשור את אותן שורות כפי שמוצג למעלה.

וגם אל תשכח שיש לך גם את פונקציית bind_rows().

#מקשר שתי מערכות נתונים שונות

bind_rows(BOD,women)
    Time  demand  height  weight
1     1    8.3     NA     NA
2     2   10.3     NA     NA
3     3   19.0     NA     NA
4     4   16.0     NA     NA
5     5   15.6     NA     NA
6     7   19.8     NA     NA
7    NA     NA     58    115
8    NA     NA     59    117
9    NA     NA     60    120
10   NA     NA     61    123
11   NA     NA     62    126
12   NA     NA     63    129
13   NA     NA     64    132
14   NA     NA     65    135
15   NA     NA     66    139
16   NA     NA     67    142
17   NA     NA     68    146
18   NA     NA     69    150
19   NA     NA     70    154
20   NA     NA     71    159
21   NA     NA     72    164

אלו הדוגמאות שממחישות בבירור את פעולתם ויישומיהם של פונקציות bind() ו-bind_rows().

I hope these illustrations helped you in understanding these functions.


קישור קבוצות שורות מרובות ב־R

בסעיף זה, נתמקד בקישור של קבוצות שורות מרובות (יותר מ־2) באמצעות הפונקציה rbind(). בואו נראה כיצד זה עובד.

#מקשר שורות של 3 קבוצות נתונים
bind_rows(BOD,women,ToothGrowth)
     Time demand height weight len supp  dose
1     1    8.3     NA     NA   NA  <NA>   NA
2     2   10.3     NA     NA   NA  <NA>   NA
3     3   19.0     NA     NA   NA  <NA>   NA
4     4   16.0     NA     NA   NA  <NA>   NA
5     5   15.6     NA     NA   NA  <NA>   NA
6     7   19.8     NA     NA   NA  <NA>   NA
7    NA     NA     58    115   NA  <NA>   NA
8    NA     NA     59    117   NA  <NA>   NA
9    NA     NA     60    120   NA  <NA>   NA
10   NA     NA     61    123   NA  <NA>   NA
11   NA     NA     62    126   NA  <NA>   NA
12   NA     NA     63    129   NA  <NA>   NA
13   NA     NA     64    132   NA  <NA>   NA
14   NA     NA     65    135   NA  <NA>   NA
15   NA     NA     66    139   NA  <NA>   NA
16   NA     NA     67    142   NA  <NA>   NA
17   NA     NA     68    146   NA  <NA>   NA
18   NA     NA     69    150   NA  <NA>   NA
19   NA     NA     70    154   NA  <NA>   NA
20   NA     NA     71    159   NA  <NA>   NA

שימו לב כיצד כל שלושת קבוצות הנתונים נקשרו או הושתלו על ידי פונקציית bind_rows() ב־R. זו היופי של פונקציית bind_rows().

שתי הפונקציות הללו יש להן אפליקציות ללא סופיות בעיבוד נתונים בתכנות R.


סיכום

הפונקציה rbind() ב־R והפונקציה bind_rows() הן הפונקציות הכי שימושיות כאשר מדובר בעיבוד נתונים.

ניתן לקשור בקלות שני מסגרות נתונים עם אותו מספר עמודות באמצעות פונקציית rbind().

באותו אופן, אם למסגרות הנתונים יש מספרי עמודות שונים, ניתן להשתמש בפונקציית bind_rows() יחד עם החבילה dplyr.

אז זהו, זה הכל לעכשיו, קישור מהנה!!!

קראו עוד: תיעוד R

Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r