Excelで無作為復元抽出する方法
Excelで無作為復元抽出する方法について質問です。
https://note.chiebukuro.yahoo.co.jp/detail/n115818
を参考にしました。
A県の生徒1000 人が受けたテストの結果は以下の通りだった。問題は10問あり、配点は各々10点である。
得点 度数 相対度数 得点*度数
0 点 : 15 人 15/1000 0*15 = 0
10 点 : 48 人 48/1000 10*48 = 480 μ= 51.58
20 点 : 61 人 61/1000 20*61 = 1220 σ^2 = 473
30 点 : 84 人 84/1000 30*84 = 2520 σ≒ 21.993
40 点 :157 人 157/1000 40*157 = 6280
50 点 :216 人 216/1000 50*216 = 10800
60 点 :154 人 154/1000 60*154 = 9240
70 点 :107 人 107/1000 70*107 = 7490
80 点 : 85 人 85/1000 80*85 = 6800
90 点 : 55 人 55/1000 90*55 = 4950
100 点 : 18 人 18/1000 100*18 = 1800
以上の 1000 個の得点データに対し
(1)I列(I12:I1011)にデータを入力。
(2)J12に =RAND() と入力し、それを(J13:J1011) にコピー。
(3)K12に
=INDEX($I$12:$I$1011,RANK(J12,$J$12:$J$1011,0)) …… (#)
と入力して、K13 以降の k 列に抽出したい数だけコピー。
(#)については次のように解釈しています。
=RANK(J12,$J$12:$J$1011,0)
は J12 が J12:J1011の中で何番目に大きいかを返す。たとえば 35 番目に大きかったとすると
=INDEX($I$12:$I$1011,35,0))
によって I12:I1011の35番目のセル I(11+35) = I46 のデータを返す。
J12:J1011 には乱数が入っているので Rank が返す値が重複することはない。
で、質問はこれで本当に無作為に復元抽出することになるのでしょうかということです(笑)。というのも母集団の μ= 51.58 に対し 1000個のデータから 20 個のデータを取り出すことを20回繰り返し、その平均値をとったら53以上になることが多いです。データを入れ替えても大して変わりません。
(I12:I1011)のデータが上記の度数分布表を満たしていることは確認しています。
お礼
ありがとうございました。 仕事に役立てていきたいと思います。 今後ともよろしくお願いします。