計測 - 事前割り当て
前の演習では、ベクトルを伸長させる方法で約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(___ <- ___)