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

Đo thời gian - tăng kích thước một vector

Việc tăng dần kích thước một vector là một trong những “tội lỗi chết người” trong R; bạn nên luôn tránh điều này.

Hàm growing() được định nghĩa bên dưới sẽ tạo n số ngẫu nhiên phân phối chuẩn tắc, nhưng mỗi lần thêm phần tử lại tăng kích thước của vector!

Lưu ý: Số chuẩn tắc là các số được lấy từ phân phối chuẩn có trung bình 0 và độ lệch chuẩn 1.

n <- 30000
# Slow code
growing <- function(n) {
    x <- NULL
    for(i in 1:n)
        x <- c(x, rnorm(1))
    x
}

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

Hàm growing() đã được định nghĩa sẵn trong workspace của bạn.

  • Dùng hàm system.time() để xem mất bao lâu để tạo n = 30000 số chuẩn tắc ngẫu nhiên bằng hàm growing(). Dùng mẹo với <- để lưu kết quả vào một vector tên là res_grow.

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.

# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)
Chỉnh sửa và Chạy Mã