วิธีรวมไฟล์ csv หลายไฟล์ใน r (ตัวอย่างทีละขั้นตอน)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อนำเข้าและรวมไฟล์ CSV หลายไฟล์ที่อยู่ในโฟลเดอร์เดียวกันใน R:
df <- list. files (path=' C:/my/path/to/files ') %>% lapply(read_csv) %>% bind_rows
ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ขั้นตอนที่ 1: สร้างและส่งออกเฟรมข้อมูลหลายเฟรม
ขั้นแรก เราจะใช้โค้ดต่อไปนี้เพื่อสร้างและส่งออกเฟรมข้อมูล 3 เฟรมเป็นไฟล์ CSV:
#create three data frames
df1 <- data. frame (points=c(4, 5, 5, 6, 8, 9),
assists=c(3, 2, 4, 4, 6, 3))
df2 <- data. frame (points=c(2, 10, 14, 15),
assists=c(3, 2, 9, 3))
df3 <- data. frame (dots=c(6, 8, 9),
assists=c(10, 6, 4))
#export all three data frames to CSV files
write.write. csv (df1, ' C:/Users/bob/Documents/my_data_files/df1.csv ', row.names = FALSE )
write.write. csv (df2, ' C:/Users/bob/Documents/my_data_files/df2.csv ', row.names = FALSE )
write.write. csv (df3, ' C:/Users/bob/Documents/my_data_files/df3.csv ', row.names = FALSE )
ฉันสามารถนำทางไปยังโฟลเดอร์นี้ได้และเห็นว่าไฟล์ CSV ทั้งสามไฟล์ถูกส่งออกสำเร็จแล้ว:
ขั้นตอนที่ 2: นำเข้าและรวมไฟล์ CSV หลายไฟล์
ต่อไป เราจะใช้โค้ดต่อไปนี้เพื่อนำเข้าและรวมไฟล์ CSV สามไฟล์ลงในเฟรมข้อมูลเดียวใน R:
library (dplyr)
library (readr)
#import and merge all three CSV files into one data frame
df <- list. files (path=' C:/Users/bob/Documents/my_data_files ') %>%
lapply(read_csv) %>%
bind_rows
#view resulting data frame
df
# A tibble: 13 x 2
assist points
1 4 3
2 5 2
3 5 4
4 6 4
5 8 6
6 9 3
7 2 3
8 10 2
9 14 9
10 15 3
11 6 10
12 8 6
13 9 4
โปรดทราบว่าไฟล์ CSV ทั้งสามไฟล์ได้รวมเข้ากับเฟรมข้อมูลเดียวเรียบร้อยแล้ว
เราจะเห็นว่ากรอบข้อมูลผลลัพธ์มี 13 แถวและ 2 คอลัมน์
หมายเหตุ : หากเฟรมข้อมูลไม่มีชื่อคอลัมน์ที่ตรงกัน R จะรวมเฟรมข้อมูลทั้งหมดเสมอและเพียงเติมค่าที่หายไปด้วยค่า NA
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ไฟล์ประเภทอื่นใน R:
วิธีนำเข้าไฟล์ Excel ลงใน R
วิธีนำเข้าไฟล์ TSV ไปยัง R
วิธีนำเข้าไฟล์ Zip ลงใน R
วิธีนำเข้าไฟล์ SAS ไปยัง R
วิธีนำเข้าไฟล์ .dta ไปยัง R