הקשר או השיוך של השורות הוא פעולה פשוטה מאוד עם הפונקציה 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