1. 学习
  2. /
  3. 课程
  4. /
  5. 効率的なRコードの書き方

Connected

练习

計測:ベクトルを伸ばして作る

Rでベクトルを「伸ばしながら」作るのはご法度の一つです。必ず避けるべきです。

以下で定義しているgrowing()関数は、n個の標準正規乱数を生成しますが、要素を追加するたびにベクトルの長さを伸ばしています!

注: 標準正規乱数は、平均0・標準偏差1の正規分布から得られる数値です。

n <- 30000
# 遅いコード
growing <- function(n) {
    x <- NULL
    for(i in 1:n)
        x <- c(x, rnorm(1))
    x
}

说明

100 XP

growing()関数はすでにワークスペースに定義されています。

  • system.time()関数を使って、growing()関数でn = 30000個の標準正規乱数を生成するのにかかる時間を計測してください。結果は<-のテクニックを使って、res_growというベクトルに保存します。