向量化代码:计算对数和
在统计中,一个常见操作是计算对数概率的总和。下面的代码计算对数和(各元素取对数后的总和)。
# 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 <- ___