Toán tử pipe trong R
Bài học 5 trên 14 trong khóa học Thao tác dữ liệu trong R của Coddy.
Toán tử pipe (%>%) trong R giúp code dễ đọc và dễ hiểu hơn, đặc biệt khi dùng với các gói thao tác dữ liệu như dplyr. Toán tử này lấy đầu ra từ một hàm rồi truyền làm đối số đầu tiên cho hàm tiếp theo, có thể hiểu là “rồi tiếp theo” trong luồng code.
Cách dùng cơ bản
Không dùng pipe:
result <- function2(function1(data))Dùng pipe:
result <- data %>% function1() %>% function2()Ví dụ
Hãy xem pipe giúp code dễ đọc hơn như thế nào:
# Không dùng toán tử pipe
squared_sum <- sum(sqrt(c(1, 4, 9)))
# Dùng toán tử pipe
squared_sum <- c(1, 4, 9) %>% sqrt() %>% sum()Lợi ích của việc dùng pipe
- Dễ đọc hơn: Code chạy từ trái sang phải, giống như cách chúng ta đọc.
- Giảm nhu cầu dùng biến trung gian.
- Dễ thêm hoặc chỉnh sửa các bước trong một chuỗi thao tác.
Dùng pipe với đối số
Bạn vẫn có thể chỉ định các đối số bổ sung sau pipe:
mtcars %>% head(n = 5)Trong trường hợp này, mtcars được truyền làm đối số đầu tiên cho head(), còn n = 5 được truyền làm đối số thứ hai.
Hiểu toán tử pipe sẽ giúp bạn viết code R gọn gàng, dễ đọc hơn rất nhiều, đặc biệt khi làm việc với dplyr và các gói khác trong tidyverse.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tự làm thử
Bài học này không có thử thách code.
Tất cả bài học trong Thao tác dữ liệu trong R
1Cơ bản về dữ liệu
Hiểu về cấu trúc dữ liệuLập chỉ mục khung dữ liệuLấy tập con dữ liệuChuyển đổi kiểu dữ liệuToán tử pipe trong R3Định hình lại dữ liệu
Định dạng rộng sang định dạng dàiĐịnh dạng dài sang định dạng rộngXử lý dữ liệu thiếuTự luyện tập: Trình biên dịch R online