Rで要素[-1,0,1]を確率[1/6、2/3、1/6]で作成したい。実行時に確率が変わる可能性があります。静的確率の場合、出力は得られましたが、問題は確率の動的変化です。たとえば、[sqrt(3),0,-sqrt(3)] で上記の確率の行列を作成すると、必要な出力は次のようになります。
注: 前述のように、確率は静的であってはなりません。実行時に異なる場合があります。
これを解決するために親切に助けてください。
Rで要素[-1,0,1]を確率[1/6、2/3、1/6]で作成したい。実行時に確率が変わる可能性があります。静的確率の場合、出力は得られましたが、問題は確率の動的変化です。たとえば、[sqrt(3),0,-sqrt(3)] で上記の確率の行列を作成すると、必要な出力は次のようになります。
注: 前述のように、確率は静的であってはなりません。実行時に異なる場合があります。
これを解決するために親切に助けてください。
2x3 行列が必要だとします。
matrix(sample(c(-1,0,1), size=6, replace=TRUE, prob=c(1/6,2/3,1/6)), nrow=2)
したがって、 で定義された確率を使用して、必要な値からサンプリングしますprob
。これは単なるベクトルですが、matrix
後で使用して目的の形状のマトリックスにすることができます。確率を値ではなく変数に置き換えて、静的にしないようにします。
確率に従ってランダムに引き出されるのではなく、特定のスキームに従って数値を分配する必要がある場合は、ベクトル要素を複製してシャッフルします。
matrix(sample(rep(c(-1,0,1), times=c(1,4,1))), nrow=2)