2013年5月7日火曜日

第4回関西ゼロからはじめるR言語勉強会の課題

Rusin Pawelが次回(第4回勉強会)に向けて、課題を作成しましたので公開します。
勉強会時に答え合わせしましょう。

1. log対数ベクターを使ってfor文実行にかかる時間を比較する
 (1).対数の生成
 2種類のlog対数ベクターを生成します。
 a) R言語のVectorizationを利用する。
 b) for文を使って関数(ファンクション)を自作する。

 以下のベクター(homework.vec)を使って各a),b)の対数を生成してください。
 set.seed(42)
 homework.vec = as.vector(rnorm(10e5,mean=10),mode="numeric")

 (2).実行時間の検証
 system.time関数を使いa), b)の実行時間を出力してください。

2. 行列をつかってfor文実行にかかる時間を比較する
 (1). 行列の生成
 4種類の行列を生成します。
  a) for文を使って関数(ファンクション)を自作する。
  b) apply関数を利用する。
  c) plyrのパッケージを利用する。
  d) R言語のVectorizationを利用する。

 以下の行列(homework.mat)を使ってa),b),c),d)の可変スケーリング、平均、
 rangeを求めてください。
 set.seed(42)
 homework.mat = matrix(rnorm(10e5,mean=172,sd=97.5),nrow=10e2)

 ※以下の式を利用して可変スケーリング、平均、rangeを求めてください。
 (可変スケーリング)
 homework.mat(i,j) = (homework.mat(i,j) – mean) / range
 (平均)
 mean()
 (range)
 max(homework.mat) - min(homework.mat)

 (2).実行時間の検証
 system.time関数を使いa), b),c),d)の実行時間を出力してください。

0 件のコメント:

コメントを投稿