2016-05-21 20 views
0

イベントが発生する確率は0.2としましょう。私は、たとえば50回、イベントが発生した回数をRでrunif関数を使って数えたいと思います。runif関数を使用して発生回数をカウントするR

これは正しい方法ですか?実際に期待される成果をあげているわけではないからです。

X <- 50

amount <- (runif(X)<0.2)

または

amount <- sum(runif(X)<0.2))

+0

どのような結果が得られますか?あなたはどんな結果を期待していますか? –

答えて

0

ちょうど行で、この行を確認してみましょう:50

に、

次のセットのX、試行回数

X <- 50 

のは、私たちの選択肢を見てみましょう:

amount <- (runif(X)<0.2) 

これは、それぞれの真の意味イベントが発生し、イベントが発生していない偽の意味での裁判の結果、T/F値のベクトルを返します。

amount <- sum(runif(X)<0.2)) 

前のコマンドと同じですが、結果を合計します。これは、イベントが発生した回数をカウントします。

+0

ありがとう、私は私のコードで第一と第二の方法の両方を使用し、私は奇妙な答えを与えたが、2番目の方法は正しいので、私のコードのエラーはどこかにある必要があります。 – Ken

1

奇妙なものは主観的なものです - 乱数は変わって見えるかもしれませんが、それでもなおランダムです。あなたの結果が実際に奇妙であるかどうかを確認することができます:

runs <- replicate(1000, sum(runif(50)<0.2)) 
mean(runs) # I got 10.028 
median(runs) # should be exactly 10 

ここには何も変わりません。 (私はここでrunifの代わりにrbinomを使用しますが、それほど変わるべきではありません)

関連する問題