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

Mã vector hóa: tính log-sum

Một thao tác phổ biến trong thống kê là tính tổng của các log xác suất. Đoạn mã sau tính log-sum (tổng của các log).

# x là một vector xác suất
total <- 0
for(i in seq_along(x)) 
    total <- total + log(x[i])

Tuy nhiên, bạn có thể cải thiện đáng kể đoạn mã này bằng cách dùng mã vector hóa.

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

  • Tìm log-sum của x bằng các hàm log()sum(), rút gọn vòng lặp ở trên.
  • Lưu câu trả lời của bạn vào đối tượng log_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.

# Initial code
n <- 100
total <- 0
x <- runif(n)
for(i in 1:n) 
    total <- total + log(x[i])

# Rewrite in a single line. Store the result in log_sum
log_sum <- ___
Chỉnh sửa và Chạy Mã