开始使用免费开始使用

计时——逐步增长向量

在 R 中逐步增长向量是大忌,务必避免。

下面定义的 growing() 函数会生成 n 个标准正态随机数,但每次加入一个元素时,都会扩大向量的长度!

注意: 标准正态随机数是从均值为 0、标准差为 1 的正态分布中抽取的数值。

n <- 30000
# Slow code
growing <- function(n) {
    x <- NULL
    for(i in 1:n)
        x <- c(x, rnorm(1))
    x
}

本练习是课程的一部分

高效 R 代码写作

查看课程

练习说明

growing() 函数已在您的工作区中定义。

  • 使用 system.time() 函数,测量用 growing() 生成 n = 30000 个标准正态随机数所需的时间。使用 <- 技巧将结果存入名为 res_grow 的向量中。

交互式实操练习

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

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