Tính tổng theo hàng
Nút thắt thứ hai được xác định là việc tính tổng theo hàng.
total <- apply(d, 1, sum)
Ở bài trước, bạn đã chuyển đối tượng nền sang ma trận. Điều này giúp thao tác apply ở trên nhanh gấp ba lần.
Nhưng bạn còn có thể tối ưu thêm nữa — thay apply() bằng rowSums().
Bài tập này là một phần của khóa học
Viết mã R hiệu quả
Hướng dẫn bài tập
- Hoàn thiện hàm
r_sum()bằng cách dùngrowSums(). - Dùng hàm
microbenchmark()để so sánh thời gian chạy củaapp()vàr_sum().
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.
# Example data
rolls
# Define the previous solution
app <- function(x) {
apply(x, 1, sum)
}
# Define the new solution
r_sum <- function(x) {
___(x)
}
# Compare the methods
microbenchmark(
app_sol = app(rolls),
r_sum_sol = ___
)