Import nhiều file cùng lúc vào R

Tác giả: Hoàng Đức Anh | 2018-06-20

Trong thực tế, khi phân tích dữ liệu, ta thường xuyên phải làm việc với nhiều file có cấu trúc dữ liệu giống nhau được trích xuất từ những khoảng thời gian/đối tượng khác nhau. Khi phân tích, ta phải cùng lúc xử lý rất nhiều những file loại này. Trong blog này, RAnalytics sẽ hướng dẫn các bạn import cùng lúc nhiều file.

Giả sử trong cùng 1 folder, ta có 10 file định dạng csv giống nhau chứa dữ liệu dạng iris như sau:

iris %>% head
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

Chúng ta muốn import cùng lúc 10 file này vào 1 data frame, ta có thể tạo 1 hàm đọc lần lượt từng file và nối các file này lại với nhau như sau:

load_data <- function(path) { 
  
  # Tìm tất cả các file định dạng csv trong thư mục path
  
  files <- dir(path, pattern = '\\.csv', full.names = TRUE)
  
  # Đọc các file này với hàm read.csv
  
  tables <- lapply(files, read.csv)
  
  #Nối tất cả các dataframe trên bằng hàm do.call và rbind
  
  do.call(rbind, tables)
}

Giả sử các file csv được chứa ở folder C:/Users/anhhd3/Desktop/data_folder, ta có thể import cùng lúc vào R như sau:

data <- load_data("C:/Users/anhhd3/Desktop/data_folder")

Hàm trên hoàn toàn có thể mở rộng với các file định dạng excel, txt hay bất kỳ file nào bạn cần import vào R!

Chúc các bạn học và làm việc hiệu quả với Ranalytics.vn!

comments powered by Disqus