始める無料で始める

計測 - 事前割り当て

前の演習では、ベクトルを伸長させる方法で約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(___ <- ___)
コードを編集して実行