自分では解決できない問題を解決できることを心から願っています。Web アプリの基本的な壷モデルをプログラムしようとしています。2 つの異なる色のモデルで、さまざまな描画方法に従って特定のランダム イベントの確率を計算したいと考えています。
壷 (赤と黒のボール) の構成は、ベクトル a <-c(number_red, number_black) で指定されます。
ランダムなイベントは別のベクトルで指定されます。たとえば、b<-c("red","red","black","red") または赤と黒のボールのその他の組み合わせとします。
ここで、ボールが 1) 壷に入れられ、順序が重要である 2) 壷に入れられておらず、順序が重要である 3) 壷に入れられておらず、かつ、順序は関係ありません 4) 壷に入れられ、順序は関係ありません
いくつかの異なるアイデアを思いつきましたが、どれも実際には機能しませんでした...最初は、各シナリオでいくつの異なる組み合わせを描画できるかを判断するために関数を書きました。
stan = function(n,x) {return(n^x)}
perm = function(n, x) {return(factorial(n) / factorial(n-x))}
komb = function(n, x) {return(factorial(n) / (factorial(n-x)*factorial(x)))}
komb2 = function(n, x) {return(factorial(n+x-1) / (factorial(n-1)*factorial(x)))}
しかし、最終的な確率を計算するためにそれらを適用する方法を本当に知りませんでした.
ツリー ダイアグラムをエミュレートするために for ループも試しましたが、複雑になりすぎました。例えば:
c <- c(number_red/(number_red+number_black), number_red/(number_red+number_black))
b <- c("red","black","red")
b[b=="red"]<-1
[b=="black"]<-2
b<-as.numeric(b)
vec<-NULL
for (i in b){
vec<-c(vec, c[i])}
prod(vec)
そのような解決策は問題#1の正しい結果をもたらしますが、ループを実行するたびにベクトルbの構成に従ってベクトルcを変更する方法を見つける必要があるため、他の問題にそれを適用する方法を本当に知りません.
もちろん、さまざまなアイデアを試してみましたが、どれも実際にはうまくいかないようです。誰かが私の問題を解決してくれたらとてもありがたいです。
ベスト、ヘンリー