เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

โค้ดแบบเวกเตอร์: การคำนวณผลรวมของลอการิทึม

การคำนวณผลรวมของลอการิทึมของความน่าจะเป็น (log-sum) เป็นการดำเนินการที่พบบ่อยในสถิติ โค้ดด้านล่างแสดงวิธีคำนวณค่าดังกล่าว

# x is a vector of probabilities
total <- 0
for(i in seq_along(x)) 
    total <- total + log(x[i])

อย่างไรก็ตาม โค้ดนี้สามารถปรับปรุงให้มีประสิทธิภาพยิ่งขึ้นได้มากด้วยการใช้โค้ดแบบเวกเตอร์

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียน R Code อย่างมีประสิทธิภาพ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • คำนวณ log-sum ของ x โดยใช้ฟังก์ชัน log() และ sum() เพื่อทดแทนลูปด้านบน
  • เก็บผลลัพธ์ไว้ในออบเจกต์ชื่อ log_sum

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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 <- ___
แก้ไขและรันโค้ด