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

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ả

Xem khóa học

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

  • Hoàn thiện hàm r_sum() bằng cách dùng rowSums().
  • Dùng hàm microbenchmark() để so sánh thời gian chạy của app()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 = ___
)
Chỉnh sửa và Chạy Mã