开始使用免费开始使用

计时 - 预分配

在上一个练习中,逐步增长向量大约花了 2 秒。 当我们预先分配向量时需要多久?下面给出了 pre_allocate() 函数的定义。

n <- 30000
# Fast code
pre_allocate <- function(n) {
    x <- numeric(n) # Pre-allocate
    for(i in 1:n) 
        x[i] <- rnorm(1)
    x
}

本练习是课程的一部分

高效 R 代码写作

查看课程

练习说明

工作区中已提供 pre_allocate() 函数。

  • 使用 system.time(),测量运行 pre_allocate(n) 所需时间。使用 <- 的技巧将结果存入对象 res_allocate

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
编辑并运行代码