0

質問:
次の乱数表の数字が、大規模な工場に出勤する人々に対応しているとします。0、1、2 人を喫煙者、3 ~ 9 人を非喫煙者とします。多くの到着後、喫煙者の相対頻度の合計を計算します。

これは、喫煙者の相対頻度の合計をシミュレートするための私の R コードです。

simulation<-function(k){
    x<-round(runif(k)*10)
    return  (length(x[x<3])/k)}

> simulation(100)
[1] 0.27
> simulation(1000)
[1] 0.244
> simulation(10000)
[1] 0.2445
> simulation(100000)
[1] 0.24923

結果 0.3 が得られないのはなぜですか?

4

1 に答える 1

8

数値 0、1、...、9 で離散一様分布を取得するだけの場合は、サンプルを使用します。

sample(0:9, k, replace = TRUE)

今持っているコードでは、0 または 10 になる確率はそれぞれ 0.05 で、1 ~ 9 になる確率はそれぞれ 0.10 です。

于 2013-03-18T01:48:35.287 に答える