http://gihyo.jp/dev/serial/01/codeiq/0007
「第7回 t検定による問題解決,Rで実践できますか?~データサイエンティストの統計学─倉橋一成からの問題」に書かれていることなんだけど,
> A群とB群⇒ 平均値が170cmの集団
> C群⇒ 平均値が175cmの集団
>
> # A群のデータ生成
> set.seed(1)
> heightA <- 170 + 10*rnorm(100000)
> # B群のデータ生成
> set.seed(2)
> heightB <- 170 + 10*rnorm(100000)
> # C群のデータ生成
> set.seed(3)
> heightC <- 175 + 10*rnorm(100000)
まあ,それでもいいのだけど,rnorm には,mean と sd という引数があるんだから,
heightA <- rnorm(100000, 170, 10)
と書く方がスマートでしょう。
なお,アテーメー(当然)のことであるが,このようにして作成したデータセットの平均値と標準偏差は正確に 170 と 10 ではない。ちょうどにしたいなら,
heightA <- scale(rnorm(100000))*10+170
のようにすればよい。
なお,この準備に引き続いて,それぞれから 100 人をサンプリングせよという出題になっているけど,無限母集団から 100 人をサンプリングするのと,100000 人から 100 人をサンプリングすることの違いは意味がないと思うが??
問2のプログラムで for を使うテンプレートが書かれているのだけど,適切とは思われない。
「スキルを試すコードパズル」ということなので,出題様式が初心者レベルというのでは,なめられる恐れがある。