私はRが初めてで、私の質問に対する答えを見つけるのが難しいです。私は正しい方向に私を導く年前に尋ねられたこの質問を見つけました:私は条件付きサンプリングで3番目の列を作成し、どれを最初からランダムに選択するかということです。行列に2つの列がある場合は、1からサンプリングを開始する列をランダムに選択します。2. rngを実行して特定のしきい値を下回る場合にのみ列を切り替えます。私は各行をサンプリングする前にrngを実行できるようにしたい。R:行列の各行を新しい列に無作為にサンプリングする方法ですが、rngの列のみを切り替える方法
私は助けの方法で多くを見つけることができませんでした。それは、何を探しているか分からないことの結果かもしれません。ありがとうございました。例を更新
:
(リンクから)このコードは、ランダム行1から(いずれか1列又は2列目からの)要素を選ぶことにより、第3列を生成し、すべての行に対してそうします。
t <- matrix(c(1,1,4,6,1,3,2,1,1,7), ncol=2)
cbind(t,apply(t,1,function(x) sample(x,size=1)))
[,1] [,2] [,3]
[1,] 1 3 1
[2,] 1 2 2
[3,] 4 1 4
[4,] 6 1 1
[5,] 1 7 1
Iは、ランダムにその列から最初で唯一のサンプルでカラム1または2を選択することによって、カラム3を構築行列を生成できるようにします。そして、各列が構築された後、rngを実行します。 rngがスレッショルド以下の数値を生成する場合は、構築元の列を切り替える必要があります。
[,1] [,2] [,3]
[1,] 1 3 3
[2,] 1 2 2
[3,] 4 1 4 (supposedly rng meets threshold here and switches from col 2 to 1)
[4,] 6 1 6
[5,] 1 7 1
あなたが参照問題のように、例を提供してください。また、私はちょっと混乱しています:行単位でサンプリングする場合、「サンプリングする列をランダムに選択する」とはどういう意味ですか?例を使って説明しておけば助けになります。 –
例を更新しました。ありがとうございました。 –