วิธีใช้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:
- วิธีใช้ rbind ใน R
- วิธีใช้ cbind ใน R
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการใช้งานฟังก์ชันทั่วไปอื่น ๆ ใน dplyr: