开始使用免费开始使用

向量化代码:计算对数和

在统计中,一个常见操作是计算对数概率的总和。下面的代码计算对数和(各元素取对数后的总和)。

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

不过,这段代码可以通过向量化大幅优化。

本练习是课程的一部分

高效 R 代码写作

查看课程

练习说明

  • 使用 log()sum() 函数计算 x 的对数和,简化上述循环。
  • 将结果存入对象 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 <- ___
编辑并运行代码