Bắt đầu ngayBắt đầu miễn phí

Giới thiệu về vòng lặp

Hãy tưởng tượng bạn cần đọc hàng trăm tệp có cấu trúc tương tự và thực hiện một thao tác trên chúng. Bạn không muốn viết hàng trăm dòng mã lặp lại để đọc tất cả tệp hoặc thực hiện thao tác đó. Thay vào đó, bạn muốn lặp qua chúng. Iteration là quá trình áp dụng cùng một thao tác cho nhiều đầu vào. Biết cách lặp giúp mã của bạn hiệu quả hơn và rất mạnh khi làm việc với list.

Trong bài này, tên của 16 tệp CSV đã được nạp vào một list gọi là files. Trong công việc của mình, bạn có thể dùng hàm list.files() để tạo list này. Thư viện readr cũng đã được nạp sẵn.

Khóa học này chạm đến nhiều khái niệm bạn có thể đã quên, nên nếu cần ôn nhanh, hãy tải tidyverse Cheat Sheet và giữ sẵn để tra cứu!

Bài tập này là một phần của khóa học

Nền tảng Lập trình Hàm với purrr

Xem khóa học

Hướng dẫn bài tập

  • Tạo một vòng lặp for, lặp qua list files và truyền mỗi phần tử làm đầu vào cho readr::read_csv() (tức là dùng hàm read_csv() từ gói readr).
  • Sau đó dùng đầu vào đó để kết quả là một list, trong đó mỗi tệp CSV được đọc vào một phần tử riêng của list mới all_files.
  • In ra kích thước của list all_files.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Initialize list
all_files <- list()

# For loop to read files into a list
for(i in seq_along(files)){
  ___[[___]] <- read_csv(file = ___[[___]])
}

# Output size of list object
length(___)
Chỉnh sửa và Chạy Mã