1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã R hiệu quả

Connected

Bài tập

Đ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
}

Hướng dẫn

100 XP

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.