★ R(S) らしいプログラム ★

 190 R(S) らしいプログラム  青木繁伸  2002/01/08 (火) 23:30
  205 Re: R(S) らしいプログラム  sb812109  2002/01/09 (水) 23:36
   211 Re^2: R(S) らしいプログラム  青木繁伸  2002/01/10 (木) 10:21


190. R(S) らしいプログラム  青木繁伸  2002/01/08 (火) 23:30
S のページなんですが,
saikoro <- function(n=1)
{
    trunc(runif(n,min=1,max=7))
}
が,あって,サイコロを10回振って出た目の平均値を300個配列に割り付けるのに,
x<-vector("numeric",300) #300個の数値を記憶できる
                         #ベクトル x を作る
for(i in seq(1:300)) {
    x[i]<-mean(saikoro(10))
}
みたいにしている例がありましたが,私は
y <- sapply(1:300, function(n) { mean(saikoro(10)) })
の方がいいと思うのですが。とどちらが望ましいのでしょうか。

     [このページのトップへ]


205. Re: R(S) らしいプログラム  sb812109  2002/01/09 (水) 23:36
後者が洗練されたS(R)プログラム

理由1)前者は for loop を使っている。
    S の参考書は極力 loop を使わないことを推奨
理由2)後者は sapply を使っている
    S の参考書は極力 sapply, lapply 等を使うことを推奨
理由3)後者の方が速い
    30000回の試行で前者は 74秒を要したのに対し,後者は
    14秒で終了(Celeron Processor 190 MB RAM)

     [このページのトップへ]


211. Re^2: R(S) らしいプログラム  青木繁伸  2002/01/10 (木) 10:21
> 後者が洗練されたS(R)プログラム

ありがとうございました。
これで,安心して R の勉強を進めることができます。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 017 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る