@agstudy に従ってこの投稿を編集して簡略化する
ランダム一様分布を使用してポリマーをシミュレートするモデルを開発しようとしています。
モデルには 2 つの状態があります
状態 1 (状態 2 の場合の状態 1 の確率が .003): 成長確率、A = .01 縮小確率、B = .0025
状態 2 (状態 1 の場合の状態 2 の確率が .0003): 成長確率、A = .01 縮小確率、E = .05
シミュレーションはステート 1 で開始します
状態 1 の間、data.frame1 から乱数をサンプリングし、# < .0025 の場合は data.frame2 に -1 を入力し、# < .01 の場合は data.frame2 に +1 を入力し、どちらも data.frame2 に 0 を入力しない場合。# < .0003 (状態 1 に入る確率) に達するまで続行します。
# < .0003 がサンプリングされた場合、data.frame2 に -1 を入力し、状態 2 に切り替えます。乱数のサンプリングを続行し、状態 2 で # < .003 の場合、data.frame2 に +1 を入力し、状態 1 に切り替えて続行します。上記のとおりです。状態 2 で # >= .003 の場合、および # < .05 の場合は -1 を data.frame2 に入力し、それ以外の場合は 0 を data.frame2 に入力します。
これで問題が解決することを願っています@agstudyですが、そうでない可能性もあります…その場合は申し訳ありません。
これは、小さなセットがどのように見えるべきかについて Excel で生成された例です。
最初の列はdata.frame1からのもので、入力列はdata.frame2になります。説明のために状態と長さの列が含まれています。
rnumbers state input length
0 1 0 0 # initialized state
0.009413895 1 1 1
0.052959306 1 1 2
0.002453354 1 -1 1
0.000290324 2 -1 0
0.093312954 2 0 0
0.077210941 2 0 0
0.04924944 2 -1 -1
0.010590107 2 -1 -2
0.03308292 2 -1 -3
0.037239807 2 -1 -4
0.007889393 2 -1 -5
0.026476751 2 -1 -6
0.000454509 1 1 -5
0.009820683 1 1 -4
0.019836999 1 1 -3
0.009380381 1 1 -2
0.083149383 1 1 -1
0.022212547 1 1 0
0.051917035 1 1 1
0.05032031 1 1 2
0.03956718 1 1 3
0.032664445 1 1 4
0.004352291 1 1 5
0.08902418 1 1 6
0.095643962 1 1 7