開始使用免費開始

計時:逐步擴充向量

在 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(___ <- ___)
編輯並執行程式碼